Questions tagged «cocoa-touch»

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



16
UIView摇动动画
我试图在按下按钮时摇晃UIView。 我正在修改在http://www.cimgf.com/2008/02/27/core-animation-tutorial-window-shake-effect/上找到的代码。 但是,通过尝试修改以下代码来摇晃UIView,它不起作用: - (void)animate { const int numberOfShakes = 8; const float durationOfShake = 0.5f; const float vigourOfShake = 0.1f; CAKeyframeAnimation *shakeAnimation = [CAKeyframeAnimation animation]; CGRect frame = lockView.frame; CGMutablePathRef shakePath = CGPathCreateMutable(); CGPathMoveToPoint(shakePath, NULL, CGRectGetMinX(frame), CGRectGetMinY(frame)); for (int index = 0; index < numberOfShakes; ++index) { CGPathAddLineToPoint(shakePath, NULL, …

13
如何计算特定字体和字体大小的文本字符串的宽度?
我有一个显示一些字符的UILabel。如“ x”,“ y”或“ rpm”。如何计算标签中文本的宽度(它不会占用整个可用空间)?这是用于自动布局的,如果UILabel内部包含较小的文本,则另一个视图将具有较大的框架矩形。指定UIFont和字体大小时,是否有方法来计算文本的宽度?也没有换行符,只有一行。

16
解析URL字符串以获取键值的最佳方法?
我需要解析这样的URL字符串: &ad_eurl=http://www.youtube.com/video/4bL4FI1Gz6s&hl=it_IT&iv_logging_level=3&ad_flags=0&endscreen_module=http://s.ytimg.com/yt/swfbin/endscreen-vfl6o3XZn.swf&cid=241&cust_gender=1&avg_rating=4.82280613104 我需要将NSString拆分为诸如cid=241和的标志部分&avg_rating=4.82280613104。我一直在用,substringWithRange:但是值以随机顺序返回,所以搞砸了。是否有任何类可以轻松解析,因此您基本上可以将其转换为NSDictionary以便能够读取键的值(例如ValueForKey:cid应该返回241)。还是有比使用NSMakeRange子字符串更简单的解析方法?

7
核心数据主键
这似乎很愚蠢,但我仍然不知道如何在xcdatamodel文件中将属性标记为主键。我的永久存储是sqlite文件。谁能帮我? 在这种情况下,如何“验证”一个唯一的ID?我应该写一个验证方法之类的吗?


9
导航控制器内部的标签栏控制器,或共享导航根视图
我正在尝试实现一个像Tweetie应用程序中那样结构化的UI ,其行为如下:顶级视图控制器似乎是导航控制器,其根视图是“帐户”表视图。如果单击任何帐户,它将转到第二级,底部具有一个标签栏。每个选项卡项都显示一个不同的列表,并允许您进一步深入(后续级别不显示选项卡栏)。 因此,这似乎是实现层次结构: UINavigationController 帐户:UITableViewController UITabBarController 鸣叫:UITableViewController 推文/用户/等的详细视图 回覆:UITableViewController ... 这似乎可行[^ 1],但根据SDK文档-pushViewController:animated:(针对以下内容)似乎不受支持: viewController:被推入堆栈的视图控制器。它不能是标签栏控制器的实例。 我想避免使用私有API之类的方法,但是我不确定为什么即使在看起来很好的情况下也禁止这种用法。有人知道原因吗? 我考虑过将标签栏控制器作为主控制器,每个标签都包含单独的导航控制器。这样做的问题是每个导航控制器都需要共享一个根视图控制器(即Tweetie中的“ Accounts”表)-这似乎不起作用:将表控制器推到另一个导航控制器似乎将其删除。从第一开始。在选择其他帐户时更不用说所有记账了,可能会很痛苦。 我应该如何正确实施此方法? [^ 1]:选项卡栏控制器需要子类化,以便该级别的选项卡栏控制器的导航项与所选选项卡的导航项保持同步,并且单个选项卡的表控制器需要将其各自的详细信息视图推送到self.tabBarController.navigationController而不是self.navigationController。


8
如何使用NSURLRequest在Http请求中发送json数据
我是Objective-c的新手,从最近开始,我就在请求/响应中投入了大量精力。我有一个工作示例,可以调用url(通过http GET)并解析返回的json。 下面的工作示例 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { [responseData setLength:0]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [responseData appendData:data]; } - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { NSLog([NSString stringWithFormat:@"Connection failed: %@", [error description]]); } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { [connection release]; //do something with the json that comes back ... (the …

8
如何在NSUserDefaults中删除用户默认值?
即,我的应用程序在开始时设置了一些标准默认值。然后,这些值可能会被用户覆盖。当用户搞砸时,我想将这些设置恢复为我的应用默认值。据我了解,应用程序默认设置与用户默认设置是不同的词典,而用户默认设置仅覆盖那些应用程序默认设置。但是我还没有看到删除用户默认值的方法。任何的想法?

5
如何在Xcode中弃用方法
我们有我们要交付给客户的库,并且我想将某些方法标记为“已弃用”,因为我们已对其进行了更改(就像Apple在iPhone SDK中所做的那样)。 我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED预处理器宏,该宏映射到__AVAILABILITY_INTERNAL,该宏映射到__attribute__((deprecated))... 好吧,我对此东西有些困惑! 有人知道吗?

11
UIBarButtonItem:目标操作不起作用?
我在中有一个自定义视图UIBarButtonItem,可以通过调用来设置-initWithCustomView。我的条形按钮项呈现得很好,但是当我点击它时,它不会调用目标对象上的动作。 这是我的代码: UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"someImage.png"]]; UIBarButtonItem *bbItem = [[UIBarButtonItem alloc] initWithCustomView:imageView]; self.navigationItem.leftBarButtonItem = bbItem; [imageView release]; [bbItem setTarget:self]; [bbItem setAction:@selector(deselectAll)];


10
iOS 7及更高版本:为每个视图控制器设置状态栏样式
我尝试了多种方法来设置状态栏样式(默认或lightcontent),但无法使其在每个视图控制器的基础上工作。我只能为整个应用设置状态栏样式。 有人暗示吗? 我试过了 UIViewControllerBasedStatusBarAppearance 和 -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; } 但是这些方法不起作用。
79 ios  cocoa-touch 

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.