Tag: cocoa touch

从日,月和年生成NSDate

我试图从一个月和一年(所有的整数格式)生成一个NSDate。 现在我的尝试是这样的: NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *components = [[NSDateComponents alloc] init]; NSNumber *day = [dataSource valueForKey:@"day"]; NSNumber *month = [dataSource valueForKey:@"month"]; NSNumber *year = [dataSource valueForKey:@"year"]; [components setDay:[day intValue]]; [components setMonth:[month intValue]]; [components setMonth:[year intValue]]; NSDate *_date = [calendar dateFromComponents:components]; 但是,当日= 24,月= 8,年= 2011时, _date输出以下内容: 0168-07-25 04:56:02 +0000 我一定在做一些可怕的错误,但我不知道是什么。 任何人都知道可能会发生什么?

我需要释放xib资源吗?

如果我有一个像UILabel链接到一个xib文件,我需要释放它在我的看法dealloc? 我问的原因是我没有分配,这让我觉得我不需要释放它呢? 例如(在标题中): IBOutlet UILabel *lblExample; 在执行中: …. [lblExample setText:@"whatever"]; …. -(void)dealloc{ [lblExample release];//????????? }

如何使UITableView上的单元格不可选?

我有一个单元格,我插入到UITableView的顶部。 我怎样才能确保当用户点击单元格时,它不显示蓝色选定的指标?

为什么所有的背景在UITableViewCell select上消失?

我目前的项目的UITableViewCell行为令我感到困惑。 我有一个相当直接的UITableViewCell的子类。 它在基本视图中添加了一些额外的元素(通过[self.contentView addSubview:…]并在元素上设置背景颜色,使它们看起来像黑色和灰色的矩形框。 由于整个表格的背景都有这个具体的纹理图像,所以每个单元格的背景都需要是透明的,即使选中了,但在这种情况下,它应该会变暗一点。 我已经设置了一个自定义半透明选定的背景来达到这个效果: UIView *background = [[[UIView alloc] initWithFrame:self.bounds] autorelease]; background.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6]; background.opaque = NO; [self setSelectedBackgroundView:background]; 虽然这样可以让背景看起来很正确,但是当我select这个单元格的时候会出现一个奇怪的副作用。 所有其他背景都不知怎么的摆脱了 。 这是一个截图。 底部的单元格看起来应该和不被选中。 顶部的单元格被选中,但它应该显示黑色和灰色的矩形区域,但他们已经走了! 谁知道这里发生了什么,甚至更重要:我该如何纠正?

如果用户点击屏幕键盘,我怎样才能closures键盘?

我希望能够在用户点击键盘外的任何地方时closuresiPhone键盘。 我怎么能这样做? 我知道我需要closures响应者,但是当用户敲击键盘空间时需要知道如何实现它。

UITextField -webView不再受支持

处理一些文本字段时,我得到下面的debugging输出。 调用UITextField -webView。 新的文本体系结构不再支持此方法 有人可以解释为什么这是出现? 我目前正在使用iOS 7运行XCode 5

具有自定义字体的UITextField secureTextEntry项目符号?

我在UITextField使用了一个自定义字体,它已经打开了secureTextEntry 。 当我在单元格中input内容时,我看到了所选字体中的子弹,但是当该字段失去焦点时,这些子弹将恢复为系统标准字体。 如果我再次点击该字段,它们会变回我的字体,依此类推。 有没有一种方法可以确保他们继续显示自定义字体的项目符号,即使该字段没有对焦?

处理由iOS中的地址簿API中的链接卡造成的重复联系人

我即将推出的应用程序的一些testing版用户报告说,联系人列表包含大量重复的logging。 我使用ABAddressBookCopyArrayOfAllPeople的结果作为我自定义的联系人表格视图的数据源,它让我感到困惑,结果与iPhone的“联系人”应用程序不同。 当仔细查看“通讯录”应用程序时,似乎重复内容来源于“已链接卡片”的条目。 下面的屏幕截图已经被混淆了一下,但正如你在我的应用程序中最右边看到的,“Celine”显示了两次,而左侧的Contacts应用程序中只有一个“Celine”。 如果您点击单个联系人的行,您会看到一张带有两个“链接卡”的“统一信息”卡(如中间所示,因为他们不适合在一个屏幕截图上,所以没有使用塞琳的联系方式) : 关于“链接卡片”的问题在苹果为最终用户提供的论坛上有不less 话题 ,但除了许多指向404支持页面的事实之外,我实际上并没有解决所有应用程序用户的通讯录问题。 我宁愿处理它优雅,而不打扰用户。 更糟糕的是,似乎我不是唯一的这个问题,因为WhatsApp显示包含重复联系人的同一个列表 。 只是为了清楚重复的联系人的起源,我不存储,caching或以其他方式试图聪明的数组ABAddressBookCopyArrayOfAllPeople返回。 所以重复logging直接来自API调用。 有谁知道如何处理或检测这些连接的卡,防止重复logging显示? 苹果的通讯录应用程序,我们其他人也可以这样做吗? 更新:我写了一个库,并把它放在Cocoapods上解决手头的问题。 看到我的答案在下面

ARC下归零弱引用的集合

我怎样才能得到一个数组零引用下弱引用 ? 我不希望数组保留对象。 而且我希望数组元素可以在释放时自行删除,或者将这些条目设置为nil。 同样的,我怎样才能用字典呢? 我不希望字典保留这些值。 再次,我希望字典元素或者在值被释放时自行移除,或者将值设置为零。 (我需要保留这些唯一标识符的键,至less在取消分配相应的值之前)。 这两个问题包含了类似的理由: 对ARC下的对象的弱引用的NSArray 有一个不保留的id对象列表? 但是也不要求引用归零 。 根据文档,NSPointerArray和NSHashMap都不支持ARC下的弱引用。 NSValue的nonretainedObjectValue也不会工作,因为它是非零。 我看到的唯一的解决scheme是创build我自己的 NSValue类包装类(weak)属性, 这个答案提到,接近尾声 。 有没有更好的方法,我没有看到? 我正在开发OS X 10.7和iOS 6.0。

drawRect不会在我的UIImageView的子类中被调用

我已经subclassed UIImageView,并试图重写drawRect,所以我可以使用Quartz 2D绘制图像的顶部。 我知道这是一个愚蠢的新手问题,但我没有看到我做错了什么。 界面如下: #import <UIKit/UIKit.h> @interface UIImageViewCustom : UIImageView { } – (void)drawRect:(CGRect)rect; @end 并执行: #import "UIImageViewCustom.h" @implementation UIImageViewCustom – (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { } return self; } – (void)drawRect:(CGRect)rect { // do stuff } – (void)dealloc { [super dealloc]; } @end 我在drawRect上设置了一个断点,它从来没有命中,导致我认为它永远不会被调用。 当视图第一次加载时不应该调用它吗? 我错误地重写了它吗?