Tag: cocoa触摸

我可以添加一个SKSpriteNode边界,类似于UIView?

我感兴趣的是如果SKSpriteNode可以模仿UIView的行为,我可以指定边界和angular半径? self.view.layer.borderColor = [UIColor lightGrayColor].CGColor; self.view.layer.borderWidth = 2;; self.view.layer.cornerRadius = 2; self.view.layer.masksToBounds = YES;

如何unit testingNSCoding?

我有一个iOS应用程序,数据持久使用NSCoding,更确切地说是NSKeyedArchiver。 此应用程序已经在App Store上提供。 我正在处理应用程序的版本2,数据模型应该改变。 所以我需要处理数据模型迁移。 我希望它通过unit testing覆盖。 在我的testing中,我想用旧的数据模型dynamic生成持久数据,启动迁移,看看是否一切顺利。 目前,归档对象如下所示: MyDataModelObject *object = …. NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; [archiver encodeObject:object forKey:key]; [archiver finishEncoding]; 问题是,MyDataModelObject可能被重新考虑,甚至在应用程序的版本2中被删除。 所以我不能在testing中使用这个类来生成一个“旧版本档案”。 有没有一种方法来模拟不使用这个类的类的encodeWithCoder:方法做了什么? 我想达到的是以下几点 – testMigrationFrom_v1_to_v2 { // simulate an archive with v1 data model // I want this part of the code to be as simple as possible // I […]

Objective-C类没有加载 – 如何debugging

我有两个RestKit框架的项目。 一个项目工作没有问题,但另一个项目失败,只要使用RestKit框架。 我发现失败的代码是这样的: return [anNSString MD5]; MD5方法是一个类别的方法,并像这样导入: #import "NSString+MD5.h" 但是,在一个项目中,我不断收到以下错误: -[__NSCFString MD5]: unrecognized selector sent to instance 0x88a3390 我了解类别的基础知识,并且可以在运行时加载它们,但是我不明白为什么在这种情况下不能加载类别。 这些是github上的文件: NSString + MD5.m , NSString + MD5.h ,

'unsigned long'UIUserNotificationSettings *'的隐式转换不允许使用arc

iOS 8中的推送通知不起作用。 错误显示: implicit conversion of 'unsigned long 'UIUserNotificationSettings *' is disallowed with arc 码: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [application registerUserNotificationSettings:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge)]; return YES; } 我正在使用ios 8.0和xcode 6testing版。

如何在Objective-C中实现“迅捷”

Swift(来自http://www.raywenderlich.com/发布的书“iOS教程animation:第12章”): let photoLayer = CALayer() @IBInspectable var image: UIImage! { didSet { photoLayer.contents = image.CGImage } } 我如何在objective-c中实现上面的语法? 我只知道设置photoLayer的属性和图像如下: @property (strong, nonatomic) CALayer *photoLayer; @property (strong, nonatomic) IBInspectable UIImage *image; 但是我不知道如何使用objective-c语法实现didset{…}部分,请帮忙!

应用内购买,SKProductsRequest返回0 – 产品仍在审查中

我已经按照教程: 介绍到应用程序内购买我想我已经完成了所有的事情如何显示。 但是,我的应用程序内购买仍然在iTunes连接“等待审查”。 当testing我的应用程序,我没有得到错误,我只是得到0产品返回给我。 我提交了应用程序,然后拒绝二进制文件。 我的产品是否必须先获得批准? 我正在使用开发资料,这是不正确的? 已经超过24小时,我不知道为什么他们不会显示。 我的应用程序还没有准备好,我只是想testing它们,以确保一切正常。

显示键盘时调整UITextView的问题,在iOS 7中

我只针对iOS7。 我想在显示键盘时调整UITextView的大小,以便能看到所有的文本,而不是隐藏在键盘后面。 我已经考虑了一些不同的方法来… 1)当键盘显示时,改变UITextView的框架。 下面的问题详细说明了与这种方法相同的问题 – 尽pipe正确设置了框架,但最后一行/光标将超出UITextView的界限,因此不可见: UITextView光标在帧更改帧之后 你可以从下面的屏幕截图中看到这个效果。 UITextView有一个绿色的背景。 它已被添加到一个红色背景的UIView 。 箭头显示光标所在的位置 2)更改UITextView上的contentInset属性 我相信这个build议/首选的方法。 请注意,我已经阅读了苹果文档,以基于键盘出现/消失来调整视图大小: https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html#//apple_ref/doc/uid/TP40009542-CH5-SW7 用我的代码,当我更改UIEdgeInsets的底部组件时,我没有任何效果。 和上面的例子一样,在UIView的红色UITextView上,文本在键盘下消失: 这里是代码: – (void)keyboardWillShow:(NSNotification*)notification { CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; UIEdgeInsets insets = _textView.contentInset; insets.bottom += keyboardSize.height; _textView.contentInset = insets; _textView.scrollIndicatorInsets = insets; } 注意 : scrollIndicatorInsets部分工作正常 。 屏幕截图很难描述,但是滚动指示器在正确的位置开始和停止,看起来是正确的大小。 我已经阅读了一些人们遇到类似问题的问题。 3)更改UITextView上的textContainerInset 这个问题的答案build议在iOS 7上使用textContainerInset而不是contentInset : UITextView […]

AGVTool新版本和什么版本不对应

当我做: agvtool new-version -all 99 它更新我的Info.plist文件。 但是,如果我这样做: agvtool what-version 要么 agvtool next-version 我得到这个错误: There does not seem to be a CURRENT_PROJECT_VERSION key set for this project. Add this key to your target's expert build settings. 为什么这不对应。 是否必须使用plist命令行工具才能检索我的应用程序的当前版本。 好奇地agvtool what-marketing-version工作正常。 讽刺agvtool似乎并没有一个版本本身;-)

PHPhotoLibrary.requestAuthorization()不触发iOS 9上的授权提示

我有以下function,显示一个操作表有两个不同的选项。 目前,唯一实施的选项是标题为“照片”。 操作表正确显示,正确的操作被调用。 我的问题是,在模拟器和实际设备上,我不能显示请求访问照片库的提示。 PHPhotoLibrary.authorizationStatus()返回.Denied并呈现通知当前应用程序无法访问照片的模式: @IBAction func attachPhotoButtonTapped(sender: AnyObject) { let actionSheetController = UIAlertController(title: "Images", message: "Select image source…", preferredStyle: .ActionSheet) let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { (action) in // … } actionSheetController.addAction(cancelAction) let takePictureAction = UIAlertAction(title: "Camera", style: .Default) { (action) in // … } actionSheetController.addAction(takePictureAction) let choosePictureAction = UIAlertAction(title: "Photos", style: […]

关于非脚本animation场景工作stream程的思考

我被要求研究开发适用于iPad的儿童书籍,其中许多应用程序商店都是这样的。 这听起来像一个非常好的项目,但我以前的iOS项目是一个更“静态”的types,绘制视图,滚动,缩放,表等,我很难想出如何做这个新的应用程序。 我已经从Flash过渡到Objective-C,并且Flash中的许多概念已经被certificate具有iOS等价物,这使得转换非常平滑。 随着创造许多手animation面的交互animation伴随而来的任务,我无法弄清楚正确的工作stream程将是什么样子的iOS。 在Flash中,由于集成的时间轴/关键帧animation工具,这是一件轻而易举的事情。 当然,我知道有很多选项可以研究,但是我对自己想出的技术没有信心: 完全脚本化的animation – 这对于简单的对象级animation来说很好,但是如果你需要一个手animation场景的优点,用代码写所有东西都是疯狂的。 Quicktime电影 – 电影可以是任何animation环境(Flash,After Effects,3D渲染等)的结果,所以您的animation可以是任何东西。 尽pipe这样做不错,但不好的一面是文件大小的增加,交互性的限制很大,如果将多部电影结合起来,则会对性能产生非常不利的影响。 纹理地图 – ( 看这篇文章 ),虽然是一个伟大的技术用于灵活的animation,我假设在iOS上使用这将限制您使用一个非常小的框架限制animation的复杂性或非常小的animation,限制视觉字符的大小。 谁知道什么样的工作stream团队用来创build应用程序/游戏中的animation,如快乐树朋友:拍快乐( video,不介意评论 )或割绳子( iTunes )中的外星人/青蛙? 是否有任何工具或库在XCode和可能的第三方软件之间来回加速? 还有最后一个亵渎的问题:是否有一种工具可以将Adobe Flash中的animation序列作为Cocoa对象导入,然后您可以使用这些对象进行编码? (注意: 已经在JS中完成了 ) 干杯, EP。 类似的问题没有答案 iphone / ipad:如何将flashanimation合并到objective-c中?