ios开发常用类介绍

来源:互联网 发布:java redis2.6 教程 编辑:程序博客网 时间:2024/06/09 08:12

ios开发常用类介绍


Part 1 ios界面常用控件1、要了解如何在您的代码中显示一个较大的非网络活动指示器,请参考UIActivityIndicatorView类参考。 2、要了解如何显示网络活动指示器,请参考UIApplication类参考中的networkActivityIndicatorVisible方法。 3、要了解表格视图可查看UITableViewStylePlain 无格式样式 / UITableViewStyleGrouped 分组格式样式4、要了解更多有关在您的代码中使用日期时间选择器的内容,请参考UIDatePicker类参考5、要了解更多有关在您的代码中使用详细信息展开按钮的内容,请参考UIButton类参考6、要了解有关在您的代码中使用页指示符的更多内容,请参考UIPageControl类参考。7、要了解更多有关在您的代码中使用选择器的内容,请参考UIPickerView8、要了解更多有关在您的代码中使用进度视图的内容,请参考UIProgressView类参考9、要了解更多有关在您的代码中使用搜索栏和范围栏的内容,请参考UISearchBar类参考。10、要了解有关在您的代码中使用分段控件的更多内容,请参考UISegmentedControl类参考11、要了解有关在您的代码中使用滑块的更多内容,请参考UISlider类参考12、要了解与使用文本框,以及自定义显示图像和按钮的文本框的详情,请参考UITextField类参考13、要了解可供您使用的键盘类型,请参考UIKeyboardType14、触摸对象(UITouch)Part 2 其他常用类的使用例子NSArray初始化NSArray *arr = [NSArray alloc] initWithObjects:@"Me", @"Myself", @"I", nil];NSMutableArray *mutable = [NSMutableArray alloc] init];其他[mutable addObject: @"One"];[mutable sortUsingSelector: @selector( caseInsensitiveCompare: )];遍历void print( NSArray *array ) {    NSEnumerator *enumerator = [array objectEnumerator];    id obj;    while ( obj = [enumerator nextObject] ) {        printf( "%s\n", [obj description] cString] );    }}注:description method。它就像 Java 的 toString,會回傳物件的 NSString 表示法。 NSDictionary初始化NSDictionary *dictionary = [NSDictionary alloc] initWithObjectsAndKeys:        @"one", [NSNumber numberWithInt: 1],        @"two", [NSNumber numberWithInt: 2],        @"three", [NSNumber numberWithInt: 3],        nil];NSMutableDictionary *mutable = [NSMutableDictionary alloc] init];NSDictionary *imageProps = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:0.9] forKey:NSImageCompressionFactor];其他 [mutable setObject: @"Tom" forKey: @"tom@jones.com"];遍历void print( NSDictionary *map ) {    NSEnumerator *enumerator = [map keyEnumerator];    id key;    while ( key = [enumerator nextObject] ) {        printf( "%s => %s\n",                [key description] cString],                [[map objectForKey: key] description] cString] );    }}NSImage初始化NSImage *image = [NSImage alloc] initWithContentsOfFile:path];[image setScalesWhenResized:YES];[image setSize:NSMakeSize(1000.0, [image size].height * (1000.0/[image size].width))];使用NSImage的lockFocus方法可以把NSGraphicsContext设置到它身上,原来是在当前窗体NSImage *canvas = [NSImage alloc] initWithSize:canvasSize];[canvas lockFocus]; //Draw things here. [canvas unlockFocus];在指定的矩形中显示图片[originImage drawInRect:rectfromRect:NSZeroRectoperation:NSCompositeSourceOverfraction:1.0];保存成jpg图片NSData *imageData = [image TIFFRepresentation];//[foo TIFFRepresentation] writeToFile:@"/tmp/foo.tif" atomically:YES];NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imageData];NSDictionary *imageProps = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:0.9] forKey:NSImageCompressionFactor];imageData = [imageRep representationUsingType:NSJPEGFileType properties:imageProps];[imageData writeToFile:path atomically:YES];NSGraphicsContext所有的绘图操作其实都值对于当前的NSGraphicsContext起作用//质量设置成高[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh];//打开反锯齿[NSGraphicsContext currentContext] setShouldAntialias:YES];NSRectNSRect rect = NSMakeRect(border/2, border/2, canvasSize.width - border, canvasSize.height - border);NSColor[NSColor whiteColor] set];NSBezierPathNSBezierPath *whiteBorder = [NSBezierPath bezierPathWithRect:whiteBorderRect];[whiteBorder setLineJoinStyle:NSRoundLineJoinStyle];[whiteBorder setLineWidth:2];[whiteBorder stroke];CGImageSourceRefNSData *imageData = [NSData dataWithContentsOfFile:imagePath];CGImageSourceRef source = CGImageSourceCreateWithData((CFDataRef)imageData, NULL); NSDictionary *metaData = (NSDictionary *)CGImageSourceCopyPropertiesAtIndex(source,0,NULL);//转出信息数据NSDictionary *exifData = [metaData objectForKey:@"{Exif}"];NSDictionary *tiffData = [metaData objectForKey:@"{TIFF}"]; //读取想要的信息 [metaData release];CFRelease(source);