Tag: iphone

为什么NSUserDefaults不保存我的值?

您好我正在尝试使用NSUserDefaults在数据库中保存一些默认值。 我能够将值保存在NSUserDefaults (甚至在NSLog检查它)。 现在,当应用程序重新启动时,我需要在应用程序委托中的值。 但是我没有得到NSUserDefaults任何东西。 以下是我从我的类中保存NSUserDefaults的值的NSUserDefaults : NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:appDel.dictProfile forKey:@"dict"]; NSLog(@"%@",[prefs valueForKey:@"dict"]); 以下是我的代码从应用程序代表: NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSLog(@"%@",[prefs valueForKey:@"dict"]); 上面的代码总是返回我null。 有人可以帮帮我吗?

UISegmentedControlselect的段颜色

有没有什么办法可以在UISegmentedControl自定义所选段的颜色? 我find了segmentedController.tintColor属性,它让我自定义整个分段控件的颜色。 问题是,当我为tintColor属性select明亮的颜色tintColor ,所选段几乎变得无法识别(其颜色几乎与分段控件的其余部分相同,因此很难区分选定段和未选定段)。 所以我不能使用任何明亮的色彩进行分段控制。 解决scheme将是一些单独的属性选定的段颜色,但我找不到它。 有人解决这个问题吗?

比较两个NSDates并忽略时间组件

什么是比较两个NSDates最有效/推荐的方法? 我希望能够看到两个date是否在同一天,而不考虑时间,并开始编写一些使用NSDate类中的timeIntervalSinceDate:方法的代码,并获取该值的整数除以秒数一天内。 这似乎很长时间了,我觉得我失去了一些明显的东西。 我试图解决的代码是: if (!([key compare:todaysDate] == NSOrderedDescending)) { todaysDateSection = [eventSectionsArray count] – 1; } 其中key和todaysDate是NSDate对象,而todaysDate是使用以下命令创build的: NSDate *todaysDate = [[NSDate alloc] init]; 问候 戴夫

在UITextView中设置行高

我已经非常确定它不能使用任何公共API,但我仍然想问: 有没有办法改变UITextView中的行高? 足够静态地执行它,不需要在运行时改变它。 问题是,默认行高只是太小了。 文本看起来非常压缩,在尝试写入更长的文本时是一个噩梦。 谢谢,马克斯 编辑:我知道有UIWebView ,它很好,可以做样式等,但它不是可编辑的 。 我需要一个可接受的行高的可编辑文本组件。 Omni Frameworks中的这个东西也没有帮助,因为它太慢,感觉不对

我可以在同一视图上使用setFrame和自动布局吗?

我想添加填充到我的所有button,所以我subclassed UIButton和其他更改,我想通过使用setFrame方法添加一个固定的填充。 除了setFrame之外,一切正常。 我检查了一下,发现如果我在该视图中取消select“使用AutoLayout”,那么我可以使用setFrame,它可以工作。 有没有解决的办法? 我真的想使用自动布局,因为它有助于在iPhone 5和更早的设备上使应用程序看起来不错。 但我也想在我的子类中使用setFrame,使我的生活更轻松。 总结一下,我的问题是:我可以使用autolayout,并以编程方式调整UIView的框架?

UITableView完成请求数据时得到通知?

有什么方法可以找出UITableView何时完成从数据源请求数据? 这里没有关联视图控制器( UITableViewController )的viewDidLoad / viewWillAppear / viewDidAppear方法,因为它们都过早启动。 没有一个(完全可以理解)保证对数据源的查询已经完成(例如,直到视图滚动)。 我find的一个解决方法是在viewDidAppear调用reloadData ,因为当reloadData返回时,表视图保证已经完成查询数据源,只要它需要暂时。 然而,这似乎是相当讨厌的,因为我认为它导致数据源在第一次加载时被要求相同的信息两次(一次是自动的,一次是因为reloadData调用)。 我想这样做的原因是我想保留UITableView的滚动位置 – 但是直到像素级别,而不是最近的行。 当恢复滚动位置(使用scrollRectToVisible:animated: ,我需要表视图已经有足够的数据,否则scrollRectToVisible:animated:方法调用什么也不做(这是如果你自己的调用在任何viewDidLoad , viewWillAppear或viewDidAppear )。

减lessUITableView的部分之间的空间

有没有办法来减lessUITableView的两个部分之间的空间? 每个部分之间有大约15个像素。 我已经尝试返回0为-tableView:heightForFooterInSection:和-tableView:heightForHeaderInSection:但是这并没有改变任何东西。 有什么build议么?

UILabel – string作为文本和链接

我有一个从服务器获取文本的UILabel 。 有些文本被认定为链接,在触摸这些链接时,应该执行一些操作。 例如 NSString * str = @“我的电话号码是645-345-2345 ,我的地址是xyz ”; 这是UILabel的完整文本。 我只有一个UILabel来显示这个文本(文本是dynamic的,我只是举了一个例子)。 在点击这些链接时,我需要执行一些操作,例如导航到某个不同的屏幕或拨打电话。 我知道我可以在OHAttributedLabel的帮助下显示这样的文本。 链接可以显示如下: [label1 addCustomLink:[NSURL URLWithString:@"http://www.foodreporter.net"] inRange:[txt rangeOfString:someString]]; 但我不知道如何使这些文本链接执行一些行为,如导航到不同的屏幕或拨打电话。 让我知道是否需要更多的解释。

所有移动浏览器的完整网页和禁用缩放视口元标记

我希望我的网页全屏,并禁用所有移动设备上的缩放。 使用meta标签: <meta name="viewport" content="width=1165, user-scalable=no"> 我能够为iPhone / iPad做到这一点,但在Android设备上,网站被放大到大约125%。 如果我使用标签 <meta name="viewport" content="width=max-device-width, user-scalable=no"> 我得到相反的结果。 那么它适用于Android,但它不适用于iPad / iPhone。

和之间的区别?

我想从文件系统加载一些图像到我的应用程序。 有两个简单的方法来做到这一点: [UIImage imageNamed:fullFileName] 要么: NSString *fileLocation = [[NSBundle mainBundle] pathForResource:fileName ofType:extension]; NSData *imageData = [NSData dataWithContentsOfFile:fileLocation]; [UIImage imageWithData:imageData]; 我更喜欢第一个,因为它less了很多代码,但是我看到一些人说图像被caching了,而且这个方法使用了更多的内存? 由于我不相信大多数其他论坛上的人,所以我想我会问这个问题,有没有实际的区别,如果有的话,哪一个更好? 我已经尝试使用对象分配工具分析我的应用程序,并且我看不到任何实际的区别,尽pipe我只在模拟器中尝试过,而不是在iPhone本身。