Questions tagged «cocoa-touch»

驱动iOS应用程序的Cocoa Touch框架共享在Mac上发现的许多成熟模式,但它们的构建特别着重于基于触摸的界面和优化。



16
从笔尖加载可重用的UITableViewCell
我能够设计自定义UITableViewCells并使用http://forums.macrumors.com/showthread.php?t=545061上的线程中介绍的技术很好地加载它们。但是,使用该方法不再允许您使用redirectIdentifier初始化单元格,这意味着您必须在每次调用时为每个单元格创建全新的实例。有没有人找到一种仍然可以缓存特定单元格类型以供重用,但是仍然能够在Interface Builder中进行设计的好方法?

6
是否可以防止NSURLRequest缓存数据或在请求后删除缓存的数据?
在iPhone上,我使用NSURLRequest对大量数据执行HTTP请求。对象分配高峰,我相应地分配数据。完成数据处理后,我会相应地释放它-但是仪器不会显示任何已释放的数据! 我的理论是默认情况下会缓存HTTP请求,但是-我不希望我的iPhone应用程序缓存此数据。 有没有一种方法可以在请求后清除此缓存,或者首先阻止任何数据缓存? 我试过使用所有记录的缓存策略,如下所示: NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; theRequest.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData; 但是似乎没有什么可以释放内存!

16
如何将UITableView设置为分组样式
我有一个UITableViewController带有部分的子类。这些部分以默认样式显示(无圆角)。如何在代码中将TableView样式设置为分组?我没有为此使用Interface Builder,所以我需要类似 [self.tableView setGroupedStyle] 我搜索了Stack Overflow,但找不到答案。

10
UIScrollView水平分页,例如Mobile Safari标签
移动Safari允许您通过输入一种UIScrollView水平分页视图(底部带有页面控件)来切换页面。 我试图复制这种特殊的行为,其中水平可滚动的UIScrollView显示下一个视图的某些内容。 苹果提供的示例:PageControl显示了如何使用UIScrollView进行水平分页,但是所有视图都占据整个屏幕宽度。 如何获得UIScrollView来显示下一个视图的某些内容(如移动Safari一样)?

13
管理多个异步NSURLConnection连接
我的课堂上有很多重复的代码,如下所示: NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 异步请求的问题是,当您关闭各种请求,并且分配了一个委托将它们全部视为一个实体时,许多分支和丑陋的代码开始制定规则: 我们要获得什​​么样的数据?如果包含此内容,请执行此操作,否则执行其他操作。我认为能够标记这些异步请求将很有用,就像您可以使用ID标记视图一样。 我很好奇哪种策略对管理可处理多个异步请求的类最有效。


13
如何在iOS上以程序方式着色图像?
我想为图像添加色彩参考。结果应该看起来像Photoshop中的“乘法”混合模式,其中白色将替换为“ 色调”: 我将不断更改颜色值。 后续:我将把要做此操作的代码放在ImageView的drawRect:方法中,对吗? 像往常一样,与链接相反,代码片段将极大地帮助我理解。 更新:用建议的代码Ramin子类化UIImageView 。 我把它放在我的视图控制器的viewDidLoad:中: [self.lena setImage:[UIImage imageNamed:kImageName]]; [self.lena setOverlayColor:[UIColor blueColor]]; [super viewDidLoad]; 我看到了图像,但没有着色。我还尝试加载其他图像,在IB中设置图像,然后在视图控制器中调用setNeedsDisplay:。 更新:未调用drawRect :。 最终更新:我发现一个老项目具有正确设置的imageView,因此我可以测试Ramin的代码,并且它的工作原理很吸引人! 最终,最终更新: 对于那些刚开始学习Core Graphics的人来说,这是可能可行的最简单的方法。 在子类化的UIView中: - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColor(context, CGColorGetComponents([UIColor colorWithRed:0.5 green:0.5 blue:0 alpha:1].CGColor)); // don't make color too saturated CGContextFillRect(context, rect); // draw base [[UIImage imageNamed:@"someImage.png"] …

1
enumerateObjectsUsingBlock的BOOL * stop参数是什么?
enumerateObjectsUsingBlock:最近,我为满足快速枚举的需求一直在使用很多东西,而且我很难理解BOOL *stop枚举块中的用法。 在NSArray类引用状态 stop:对布尔值的引用。该块可以将值设置为,YES以停止对该数组的进一步处理。该stop参数是唯一的参数。您只能将此Boolean设置YES为Block内。 因此,当然可以在块中添加以下内容以停止枚举: if (idx == [myArray indexOfObject:[myArray lastObject]]) { *stop = YES; } 据我所知,不明确设置*stop为YES不会产生任何负面影响。枚举似乎会自动在数组末尾停止。那么,使用代码*stop块真的有必要吗?

3
KVO和ARC如何删除
如何从ARC下的对象中删除观察者?我们只是添加观察者而忘记删除它吗?如果我们不再手动管理内存,该从何处辞职? 例如,在视图控制器上: [self.view addObserver:self forKeyPath:@"self.frame" options:NSKeyValueObservingOptionNew context:nil]; 以前,我将调用removeObserver:视图控制器的dealloc方法。



4
使用[UIColor colorWithRed:green:blue:alpha:]无法与UITableView seperatorColor一起使用吗?
我正在尝试配置深灰色的分隔符颜色。为什么以下什么都不做? self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine; self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1]; 返回一个根本没有分隔符的表。 一旦使用[UIColor blackColor],我就可以使用分隔符了。这是怎么回事?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.