Tag: cocoa触摸

如何使MKAnnotationView触摸敏感?

我目前有一个地图视图上有一些注释。 我有自定义图像的注释。 我试图解决的问题是图像的敏感性。 当我试图拖动它们时,感觉就像我必须触摸确切的中心来重点关注它。 有没有办法让触摸范围更大?

iOS:didReceiveMemoryWarning的帮助:

我是我的开发过程中追踪崩溃和内存泄漏的一部分。 作为一个策略,你是否把任何NSLog的消息或一些这样的通知didReceiveMemoryWarning: 这个方法的文档相当稀less。 是否准确地说,在发生崩溃之前,UIViewController会触发该方法? 即使是与仪器一起前进,这是一个起点吗?

推送通知-didFinishLaunchingWithOptions

当我发送一个推送通知,我的应用程序打开或在后台,我点击推送通知,我的应用程序redirect到PushMessagesVc viewController ( 按照预期 ) 我使用如下代码: -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { UIStoryboard *mainstoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; PushMessagesVc *pvc = [mainstoryboard instantiateViewControllerWithIdentifier:@"PushMessagesVc"]; [self.window.rootViewController presentViewController:pvc animated:YES completion:NULL]; } 在上面的代码/场景中没有问题,但如果应用程序已closures,并且单击推送通知,则应用程序在此情况下不redirect我的PushMessagesVc viewController , PushMessagesVc应用程序停留在主屏幕上。 对于第二种情况,我使用下面的代码: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { sleep(1); [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeNone)]; [UIApplication sharedApplication].applicationIconBadgeNumber = 1; NSDictionary *userInfo = [launchOptions valueForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"]; […]

标题和第一个单元格之间的分隔 – 在普通的UITableView

我有一个平原与只有一个部分的表。 我有一个实现viewForHeaderInSection:在部分标题中添加自定义视图。 我无法看到我的表节标题视图和我的第一个单元格之间的分隔线。 [见附图] 我究竟做错了什么?

替代iPhone SDK中的弱链接?

我正在寻找使我的应用程序与旧版本的iPhone OS兼容。 我确实看到了弱链接作为一个选项。 我可以使用操作系统版本检测代码来避免操作系统无法处理的代码块吗? (说iAD?) if(OS >= 4.0){ //set up iADs using "NDA code"… } 如果是的话, if(OS >= 4.0)什么?

计划本地通知的数量

我正在做一个iPhone应用程序,我已经实施了本地通知的概念,提醒用户吃药。 但在iOS中,我们无法一次安排超过64个通知。 但是我在数据库中有许多date时间条目。 我怎么能安排超过64个通知?

我可以使用iCloud来同步NSUserDefaults plist文件吗?

我想知道是否有可能使用iCloud在设备之间同步应用程序的首选项文件。 我所说的首选项文件是NSUserDafults创build的com.domain.appname.plist文件,用于存储应用程序的首选项。 我想要让我的应用程序的首选项文件在两个不同的设备(例如iPad和iPhone)之间同步的选项。 这是一个可以接受的使用iCloud同步吗? 或者,我是否需要将plist文件转换为不同types的文档,将其存储在云端,然后将其转换回应用程序的首选项文件? 谢谢!

iPhone的 – 正确的方式获取当前的date和时间给定的地点/时区,并与另一个date/时间在同一地点比较

我正在寻找正确的方法来获得给定地点/时区的实际date和时间,并且能够将它与同一地点的给定date/时间进行比较。 比方说,例如巴黎,那就是GMT +1。 就像我们现在的情况一样,由于夏令时间的原因,巴黎也可以是GMT + 2,但是据我所知,它是一个例外的一部分,因此必须考虑到答案,而不是一般的参数。 这里的重要词汇是“给定的地方”。 那么,如果我想知道在悉尼澳大利亚或法国巴黎的date和时间,并将该date与NSDate进行比较,以便能够将该date与代表另一date/时间的另一个NSDate在同一地点进行比较,我可以吗? 我已经阅读了一些问题和答案的评论页面,甚至在接受的答案,从有经验的用户说:不是一个好的答案-1,错了,而不是这样做的正确方法,绝对错误,… 那么,你知道正确的方法吗? 在一个完美的世界中,即使用户的电话不在适当的时间和/或date和/或时区,或者任何可以接近完美的东西,那个date/时间将是绝对的,而不需要连接到date/时间服务器。

你如何真正从UIMenuController中删除复制

显然,当您添加多个自定义菜单项时,曾经是一种简单的方法来防止“更多…”标签出现在UIMenuController中。 你只需要删除所有的系统菜单项。 这里还有一个解决方法 ,仍然有复印工作。 您只需使用不同的select器实现自定义复制命令,然后重写canPerformAction:withSender:不显示系统副本: -(BOOL)canPerformAction:(SEL)action withSender:(id)sender { if (action == @selector(copy:)) return NO; else // logic to show or hide other things } 不幸的是,这种方法不再有效(至less在UIWebView子类中)。 canPerformAction:withSender:对除复制以外的每个系统菜单项都会调用:所以结果是始终显示系统复制菜单项。 这意味着如果您有多个自定义菜单项,则始终隐藏在“更多…”之后 那么,有没有办法真正删除系统的副本项目或一些替代的方法,以防止隐藏在“更多…”后面的菜单项? 更新 这是我重写canPerformAction时获得的输出:withSender:注意,该方法从来没有被调用“copy:”操作: cannot perform action cut: with sender <UIMenuController: 0x7227d30>. cannot perform action select: with sender <UIMenuController: 0x7227d30>. cannot perform action selectAll: with sender <UIMenuController: 0x7227d30>. cannot […]

UIViewController阻止视图卸载

当我的iPhone应用程序收到内存警告的UIViewControllers目前不可见的意见得到卸载。 在一个特定的控制器卸载视图和出口是相当致命的。 我正在寻找一种方法来防止这个视图被卸载。 我发现这种行为很愚蠢 – 我有一个caching机制,所以当内存警告来了 – 我卸载自己吨数据,我释放了足够的内存,但我绝对需要这个观点不变。 我看到UIViewController有一个方法unloadViewIfReloadable ,当内存警告来临时被调用。 有谁知道如何告诉Cocoa Touch我的观点是不可重新加载的? 任何其他的build议如何防止我的观点被卸载内存警告? 提前致谢 关于视图控制器视图生命周期的Apple文档说: didReceiveMemoryWarning – 默认实现只有在确定安全的情况下才会释放视图 现在…我重写didReceiveMemoryWarning与一个空的函数,只是调用NSLog让我知道收到警告。 然而,视图无论如何都会被卸载。 另外,根据什么标准来决定视图是否可以安全地卸载…哦! 这么多的问题!