Tag: cocoa touch

按对象值sortingNSMutableArray

可能重复: 如何sorting一个NSMutableArray中的自定义对象? 在这里,我正在用int属性newsIDsorting包含NewsData对象的NSMutableArray newsDataArray 。 这现在正在工作。 但是,我怎样才能以更好的方式做到这一点。 有没有更好的方法… NSSortDescriptor *sortDesc = [[NSSortDescriptor alloc] initWithKey:@"newsID" ascending:NO]; NSArray *tempArray = [newsDataArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDesc]]; NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:tempArray]; NSLog(@"sortedArray=%@" ,sortedArray); 当我使用以下方法阻止某些错误显示。 我想sortingnewsDataArray作为我的最终结果….任何人都给我一个明确的例子…

带有背景的UINavigationBar

我试图做一个自定义的UINavigationBar,但问题是,我的背景图像有一个曲线,它的一点点大于默认的导航栏。 当我尝试设置背景图像和更改导航栏大小时,它只是将图像缩放为矩形。 有任何想法吗? 酒吧:

仅在“ios 5.0”中才能在导航栏上设置图像

在我的通用应用中, 我正在导航栏上设置图像…使用** objective c category…on UINavigationBar ** 代码在iphone中的ios 5.0中 正常工作 * 代码在iPhone / iPad的ios 4.3中正常工作 * *But not working in **ios 5.0 iPad*** – (void) drawRect:(CGRect)rect { UIImage *image; image = [UIImage imageNamed: @"Navigation.png"]; [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; [self setTintColor:[UIColor clearColor]]; NSLog(@"Draw Rect"); }

如果在最清晰的视图中显示并且不同的视图可以处理它们时,如何忽略触摸事件

我有一个清晰的UIView,它附有手势识别器。 这个清晰的uiview覆盖了整个超级视图,可以从任何地方调用手势。 在这个清晰的UIView下,坐着不同的组件,比如表格,button,collectionview等等 清楚的UIView不知道什么是在任何时候。 我想要什么 – 如果一个在清晰的视图下的视图可以处理触摸事件(或任何types的手势) – 清晰的视图应该忽略该事件 – 事件将通过可以处理它的底层视图。 我试过了 -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 但我不知道如何确保底层视图可以处理它。

从XCode 4.2到4.3,新的ViewController类.m文件的定义是不同的。 为什么?

像大多数人一样,我最近下载了最新版本的XCode(4.3.1)。 我注意到,当我创build新的UIViewController对象时,关联的.m文件包含了我以前从未见过的其他类定义代码。 特别是,如果我创build一个名为“TestViewController”的新的UIViewController ,我得到以下.m文件输出。 \\… removed comments… #import "TestViewController.h" @interface TestViewController () @end @implementation TestViewController – (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } \等等… 自XCode 4.3以来新添加的代码是#import语句下的部分: @interface TestViewController () @end 这个代码的目的是什么? 可以/应该在括号内进行任何操作吗? 是否有任何代码在@interface和@end语句中? 简而言之,将这个代码添加到模板的意义何在? 作为一个有趣的方面说明,当我尝试从模板创build一个NSObject ,上面提到的代码片段没有被添加。 它可能会出现与其他types的类模板,但目前我只遇到它与UIViewController和UITableViewController对象。

可以在自定义init方法中调用吗?

我有一个MKPolyline子类,我想实现NSCoding ,即 @interface RSRoutePolyline : MKPolyline <NSCoding> 我问了一个关于编码c数组的最佳方法,并得到了一个很好的答案 。 但是,在MKPolyline没有定义init方法,也就是说没有其他的方式给它的数据,除了它的类方法polylineWithPoints:points 。 这个代码在哪里我的评论是好的? – (void)encodeWithCoder:(NSCoder *)aCoder { MKMapPoint *points = self.points; NSUInteger pointCount = self.pointCount; NSData *pointData = [NSData dataWithBytes:points length:pointCount * sizeof(MKMapPoint)]; [aCoder encodeObject:pointData forKey:@"points"]; [aCoder encodeInteger:pointCount forKey:@"pointCount"]; } – (id)initWithCoder:(NSCoder *)aDecoder { NSData* pointData = [aDecoder decodeObjectForKey:@"points"]; NSUInteger pointCount = [aDecoder decodeIntegerForKey:@"pointCount"]; // Edit […]

iOS:地址簿

地址簿界面出现之前,是否可以一次select多个联系人? 或者每次地址簿界面出现时,你真的应该只select一个联系人?

不活动之后屏幕变黑之前调用什么方法?

我想在我的应用程序closures之前执行一些方法,因为用户不活动(即,屏幕变黑,手机locking时,你有一段时间没有触摸它)。 发生这种情况时会调用什么方法? 我正在猜测: 这个方法/这些方法将成为我的AppDelegate类的一部分。 这个方法/这些方法类似于-[UIAppDelegate applicationWillResignActive:] , -[UIAppDelegate applicationDidEnterBackground:] , -[UIAppDelegate willTerminate:] 。 我没有看到UIApplicationDelegate的文档中的任何东西,我很难用谷歌search正确的术语(例如,“方法不活动的应用程序目标C”)。 我也没有看到任何堆栈溢出。 编辑/澄清 :多人指示我朝着下面的堆栈溢出post作为可能的副本: iPhone:检测自上次屏幕触摸以来的用户不活动/空闲时间 不过,我相信我的问题是非常不同的。 请让我知道我的误解,如果我的理解是closures的。 我的问题 :是否有一个Objective-C中的内置方法类似于-[UIAppDelegate applicationWillResignActive:]等。 在应用程序仍处于打开状态的一段时间不活动后屏幕变黑时,所谓的“属性”还是“属性”? 其他问题 :如何在用户不活动的预定时间后触发某种方法,而不考虑屏幕状态? 我可以看到另一个问题是否可以回答我的问题,如果有一种方法可以获得用户在“设置”下设置“自动locking”的时间长度(1分钟,2分钟,3分钟,4分钟,5分钟,或从不),但我没有看到UIApplication的文档中的这种方法或属性。 我认为一个折中的办法是假定屏幕在闲置1分钟后“closures”,但这对我来说是一个不太理想的假设。

在Objective-C中存储和加载大量数据的最佳方式

我正在制作一个会使用大量数据的应用程序,例如~100个条目,每个条目包含多个图像,> 250个字的文本和多个1个字/字符的值。 我只是想知道在目标C做这个最好的做法? 例如,我会有一个纯文本文件,其中包含所有的值,然后在运行时读取它? 或者,我需要创build一个对象,其中包含所有这些值? 我更喜欢这个不使用Web源,因为我希望应用程序能够离线运行。

如何比较和从2 NSMutableArray中删除公共对象(NSDictionaries)?

我有两个NSMutableArrays,填充字典对象,如 NSMutableArray * bigArray = @[dictionary1,dictionary2,dictionary3]; NSMutableArray * smallArray = @[dictionary1]; 我想从大数组中删除共同元素(dictionay1) 注意:小数组是大数组的子集,元素是不同的