Tag: cocoa touch

从iCloud文档选取器附加iWork文档不起作用,因为它们是目录而不是文件

将任何iWork文档( Pages , Keynote , Numbers )从UIDocumentPickerViewController转换成NSData似乎并不奏效,因为它们不是文件而是目录。 这是我的代码: NSString *fileName = [[url path] lastPathComponent]; NSData *fileData = [[NSFileManager defaultManager] contentsAtPath:[docPickerUrl path]]; NSString *fileExtension = [docPickerUrl pathExtension]; NSString *UTI = (__bridge_transfer NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)fileExtension, NULL); NSString *contentType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)UTI, kUTTagClassMIMEType); fileData总是nil因为NSFileManager不能将目录转换为数据。 我从- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url

在beginEditing中selectUISearchBar中的所有文本?

我试图在iOS Safari中模拟地址栏的行为 – 也就是说,如果地址栏中有文本,当它被点击时,它将被选中。 大部分桌面浏览器的工作方式也是如此。 我不想在select时清除它,只是select里面的内容,这样,如果用户开始input,就会清除,但用户也可以编辑现有的string。 我已经尝试了以下,它发现iOS7和iOS6下的子视图中的UISearchBarTextField ,但调用selectAll似乎没有任何效果。 我试图改变它的text属性,工作正常,只是selectAll不是很高兴。 我也尝试改变参数selectAll: self和其他一些事情,没有改变,只是不想select那里的文本! 有什么想法吗? 这是我的代码: – (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { NSArray *subviews = [UIDevice isRunningiOS7OrAbove] ? [[searchBar.subviews objectAtIndex:0] subviews] : searchBar.subviews; for (UIView *subview in subviews) { if ([subview conformsToProtocol:@protocol(UITextInputTraits)]) { UITextField *textField = (UITextField *)subview; [textField selectAll:textField]; } } } 编辑 我也尝试过,没有喜悦: for (UIView *subview in subviews) […]

find一个浮点数的分子的分子,给出一个具体的分母

可能重复: 如何将浮动转换为可读的分数? 在Objective-C中将小数转换为小数? 我想取一个小数, 5.50 ,这是一个variables,并且只将小数部分除以0.0625 ,这是我的准确点。 这将给我8 ,如8/16或1/2 。 然后,我想在文本字段中显示该答案为5 8/16或1/2 。 我知道一些答案会返回一个十进制数,而不是一个整数,除以.0625 ,但我会围绕这个答案,这仍然会给我最接近的十六。 什么是最好的方法来做到这一点? 我想做一个function,所以我可以重用它。 是的,我发布了一个类似的问题,但是没能解决问题。 我想有一个更好,更简单的方法来做到这一点,所以我已经发布了这个。 提前致谢。

收到推送通知时打开特定的标签栏

接收推送通知时,如何打开特定的标签栏? 我已经把[self.tabBarController setSelectedIndex:2]; 在viewDidAppear和数据logging中发生了什么,它显示它通过tabBar 2 viewController,但它不打开/显示该页面,并保持在第一个控制器/第一个tabBar。 然后我终止应用程序并打开回来,自动/突然它打开tabBar 2 viewController。 任何人都可以给任何想法或示例代码来解决这个问题? 这是在我的didReceiveRemoteNotification; – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { NSLog(@"Remote notification received"); if([userInfo valueForKey:@"app"]) { NSString *action_app = [userInfo valueForKey:@"app"]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:action_app forKey:@"app"]; NewVC *sample=[[NewVC alloc]init]; [sample viewDidLoad]; //[self.tabBarController setSelectedIndex:2]; [self clearNotifications]; }else{ NSLog(@"—nothing to read—"); } } NewVC位于标签栏2 ..

iOS开发 – 检查互联网时间

我正在开发一个应用程序,每5分钟重新填写一次。 什么是最好的方法来检查自上次填充以来的时间,以便用户不能通过改变设备上的时间来欺骗系统? 举一个例子,看看Candy Crush。 改变那里的系统时间会让你有更多的生命,这就是我需要防止的。

iOS – 从作为parameter passing的块中获取variables

我已经有一段时间对此感到震惊,但似乎无法find我正在寻找的东西。 基本上我在A类中有下面的方法声明 – (void)doSomethingCoolWithThisBlock:(void (^)(void))block 在B类中,当我在块部分调用这个方法如下: UILabel *myLabel = [[UILabel alloc] init]; UITextField *myField = [[UITextField alloc] init]; 等等 我的问题是,在我的doSomethingCoolWithThisBlock的实现中,我怎么能剖析块内的东西,并得到说UILabel例如?

在Objective C中生成一个唯一的ID

我们如何在Objective C中获得唯一的ID。我想为我的会话创build一个唯一的ID,然后在每次发生服务器调用时生成一个ID。 每次这个ID应该是唯一的。 我尝试使用CFUUID类,它给了我们一个巨大的唯一ID(4FE9D00C-531E-45E8-B10E-11968ACC36E9)。 我想要一个更小尺寸的唯一ID。 任何线索?

几个小部件使用XCode Storyboard(或“做错了”)?

我已经开始了一个新的基于Storyboard(iPad)的XCode项目,它基本上应该有一个UI: 一个屏幕显示来自networking全屏的结果,顶部有一个导航栏。 最终用户可以切换到导航控制器从(1)到另一个屏幕,该屏幕应该包含一个表格,列出几个演员+一些额外的小部件。 networking代码已经正常工作,但是我遇到了与数据交互的问题。 我在XCode中创build了以下用户界面: 我不能让屏幕2上的UITableView拥有一个合适的UITableViewController而不必强迫屏幕2中的UITableView进入全屏状态。 我可以指定一个UITableViewController (或者事实上任何种类的*Controllerembedded到视图中的这种方式? 另外:是否有一个喜欢使用故事板处理用户界面的其他方式? 我只是推动故事板太远,应该恢复到'笔尖'/程序创作? 编辑 @ jrturton的答案是正确的,一个小图片来补充他的附加规范: 编辑行动,危险! 您不得拖动到父View ,您必须确保您拖动到父View Controller ,否则会发生不好的事情 :

无法在RestKit中映射NSManagedObject的对象数组

我有NSManagedObject子类的User类: @interface User : NSManagedObject @property (nonatomic, retain) NSString * about; @property (nonatomic, retain) NSString * contactAddress; @property (nonatomic, retain) NSString * contactEmail; @property (nonatomic, retain) NSString * hobbies; @property (nonatomic, retain) NSArray* jobExperience; @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSString * surname; @end 正如你所看到的,这个对象具有JobExperience对象的NSArray属性。 JobExperience定义如下: @interface JobExperience : NSObject <NSCoding> @property […]

为什么UITableViewCell具有自动布局约束冲突

我有一个UITableViewSubclass(样式:UITableViewCellStyleValue1)具有自定义标签,实质上是正常的textLabel标签的替代品。 它应该与正常的textLabel左alignment,但有一个宽度可以在正常的detailTextLabel的左侧结束8个点。 我得到了期望的效果,但是当使用这些单元格时,会出现一个exception,无法同时满足约束条件。 我不明白的是为什么抱怨,没有明显的冲突。 在设置约束之后调用[self layoutIfNeeded]将使exception无效。 或者,降低configuration尾随属性的约束(例如, UILayoutPriorityDefaultHigh而不是默认的UILayoutPriorityRequired )的优先级也使该exceptionUILayoutPriorityRequired ,显然是因为我通知自动布局引擎可以打破/忽略该约束。 我假设标准的UITableView实现可能会奇怪地将textLabel和textLabel以一种使得它最初不可能描述所描述的视图的方式进行textLabel 。 例如,如果textLabel实际上放置在单元格的右侧,而detailTextLabel放置在左侧,那么我描述的布局将是不可能的。 自动布局何时生效,在这种情况下。 它是否跳起了枪,并试图在事情发生之前进行布局呢? 没有使用Storyboard或XIB。 纯粹的基于代码。 #import "EBTStoreTableViewCell.h" @interface EBTStoreTableViewCell () @property (nonatomic, readonly, weak) UILabel *storeNameLabel; @end @implementation EBTStoreTableViewCell – (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuseIdentifier]; if (self) { self.textLabel.text = @" "; self.detailTextLabel.text = @" "; UILabel *storeNameLabel = […]