我正在使用这种方法来复制文件: [fileManager copyItemAtPath:sourcePath toPath:targetPath error:&error]; 我想覆盖已存在的文件。 此方法的默认行为是引发exception/错误“File Exists”。 当文件存在时。 没有选项可以指定它应该覆盖。 那么这样做最安全的方法是什么? 我会先检查文件是否存在,然后删除它,然后尝试复制? 这有一个危险,就是应用程序或设备在文件被删除后的纳秒内closures,但是新文件没有被复制到那个地方。 那么什么都没有 也许我将不得不先改变新文件的名称,然后删除旧的,然后重新更改新的名称? 同样的问题。 如果在这个纳秒内应用程序或设备closures,重命名不会发生?
这是棘手的字,但我有一个视图控制器(vc1),其中包含一个容器视图(我正在使用故事板)。 在该容器视图内是一个导航控制器和一个根视图控制器(vc2)。 从vc2中,我怎样才能访问vc1? 或者,我如何将vc1传递给vc2? (请记住,我正在使用故事板)。
目前我遇到了我的ActionSheet很大的麻烦。 在iPhone上它工作的很好,但在iPad上它只会崩溃 我只用一个button创build一个新项目 import UIKit extension ViewController : UIActionSheetDelegate { func actionSheet(actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int) { if actionSheet.tag == 0 { if buttonIndex == 1 { // doing something for "product page" } else if (buttonIndex == 2) { // doing something for "video" } } } } class ViewController: UIViewController, UIActionSheetDelegate { @IBAction […]
我有一个UITextView文本编辑。 默认情况下,它在文本周围有一个小的边距。 我想增加几个像素的边缘。 contentInset属性为我提供了空白,但不会更改文本“换行宽度”。 文本以相同的宽度包装,额外的“边距”只是使视图水平滚动。 有没有办法让某个宽度的UITextView显示更窄的“包裹宽度”文本?
我想创build一个应用程序,它可以在iPhone处于静音模式时创build声音,音乐或系统声音。 在静音模式下,是否可以播放任何types的音乐,无论是音乐还是系统音调?
有没有一种方法(无论是在IB或代码)设置视图中的文本字段之间的标签顺序? 请注意,按下回车键(或“下一步”)button后,我不是在谈论下一个表单字段 – 许多蓝牙键盘都有一个制表键,它似乎以完全不同的顺序在字段中循环。 在我的具体情况下,这个顺序并不对应于字段在视图中的位置,甚至不是字段添加的顺序。 用手修改xib文件来改变NSNextKeyView似乎也没有什么不同。 有谁知道如何改变这个命令?
我需要为NSAttributedString(核心文本)中的每个字符(字形)计算确切的边界框。 把一些用来解决类似问题的代码(核心文本select等)放在一起后,结果是相当不错的,但是只有几帧(红色)正在计算正确: 大多数框架是水平或垂直错位(微小的一点)。 这是什么原因? 我怎样才能完善这个代码? -(void)recalculate{ // get characters from NSString NSUInteger len = [_attributedString.string length]; UniChar *characters = (UniChar *)malloc(sizeof(UniChar)*len); CFStringGetCharacters((__bridge CFStringRef)_attributedString.string, CFRangeMake(0, [_attributedString.string length]), characters); // allocate glyphs and bounding box arrays for holding the result // assuming that each character is only one glyph, which is wrong CGGlyph *glyphs = (CGGlyph *)malloc(sizeof(CGGlyph)*len); […]
在考虑iPhone / iPad应用程序的安全性时,我可以注意到有: 广泛使用的黑客工具允许文件系统访问 networking拦截,男子在中间进攻 ==>数据盗窃威胁 并且: 黑客工具的可用性,允许与朋友/社区自由共享付费应用程序(见Cydia) 黑客工具的可用性,允许进入应用程序购买而不付钱(在Cydia中看到,并听说它不适用于任何应用程序) ==>收入损失的威胁 所以我想知道#1 什么是在iOS应用程序中获得更好的安全性的最佳实践? 此外,#2 什么是减less收入损失和减less黑客入侵的最佳途径 ? 对于#1我见过一些有关安全的WWDC幻灯片1 2 3 4 + 苹果文档 我可以说这些最佳实践之间有: 使用提供数据保护的API(如带有NSFileProtectionKey属性的NSFileManager) 使用钥匙串 使用SSL保护敏感数据并使用证书 对于#2我认为,使用基于免费应用程序的商业模式,然后在应用程序购买与存储收据validation可以是最小的收入损失的模型。 什么是安全性的最佳实践,并最大程度地减less应用程序黑客机会?
所以,我将一个手势识别器添加到重叠视图。 当在屏幕上点击我想要这个覆盖层走开。 话虽如此,添加一个手势识别器会覆盖“触摸里面”和其他button点击事件。 我需要这个,所以我需要removegesturerecognizer。 我可以使用这种方法,但我有一个问题。 我的代码如下 – – (void)helpClicked { CGRect visibleBounds = [self convertRect:[self bounds] toView:viewContainer]; CGFloat minimumVisibleX = CGRectGetMinX(visibleBounds); UIImageView * helpOverlay = [[UIImageView alloc]initWithFrame:CGRectMake(minimumVisibleX, 0, 1024, 768)]; UIImage * helpImage = [UIImage imageNamed:@"HelpOverLay.png"]; [helpOverlay setImage:helpImage]; helpOverlay.tag = 50; self.scrollEnabled = NO; [self addSubview:helpOverlay]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissView)]; [self addGestureRecognizer:tap]; […]
这有点让我烦恼,iPad模拟器是多么的小…有些应用程序,我脑海中我有困难的testing,因为iPad模拟器的小尺寸。 无论如何要使它比现在更大?