在Sprite Kit中创buildbutton的正确方法?

我正在做一个游戏,我想要一个button。 我如何处理窃听呢? 我使用单独的类为UI,它是SKSpriteNode持有所有的button和界面元素,我不希望场景来处理这些button触摸我的触摸开始方法。 据我所知,我们可以检查在触摸点被触摸的节点开始,所以要实现正常的button与触摸里面我需要在touchesBegan和touchesEnded编写代码,这看起来有点矫枉过正。 或者我应该使用普通的UIButton? 但我知道,你不能dynamic地添加这些,只有在didMoveToView方法,这看起来不好。

在Swift中按下回车键之间切换文本字段

我正在devise一个iOS应用程序,我希望当我的iPhone按下回车键时,它会指引我到下一个文本字段。 我发现了一些类似的问题,并且有很好的答案,但是它们都只是在Objective-C中,我正在寻找Swift代码,现在这是我现在使用的: func textFieldShouldReturn(emaillabel: UITextField) -> Bool{ return true } 它被放置在连接的文件和包含文本字段的UIView的控制器中,但我不确定这是否是正确的位置。 我基本上是新来的快,所以解释每一个小步骤,否则我会设法搞砸了。 此外,我使用Xcode的最新版本,如果这有什么区别。 好的,所以我试了一下,得到这个错误: //could not find an overload for '!=' that accepts the supplied arguments func textFieldShouldReturn(textField: UITextField) -> Bool { let nextTag: NSInteger = textField.tag + 1; // Try to find next responder let nextResponder: UIResponder = textField.superview!.viewWithTag(nextTag)! if (nextResponder != nil) {//could […]

发送推送通知给ios聊天离线用户,openfire xmpp

我有一个使用openfire的ios聊天应用程序,我需要做的是发送推送通知,当消息(1)无法交付任何原因,(2)应用程序处于暂停状态,即不能生成通知在其自己的。 我已经阅读了大部分有关这个在stackoverflow和其他地方的问题/build议,我已经得出了几个解决我的问题。 我不是一个ios开发者,在几天之前我也不了解openfire或xmpp,所以恐怕我对事物的理解可能不完整,我的解决scheme可能有缺陷。 请确认我的理解,并build议如果我错过了一些东西,或者如果有更好的方法。 请同时提出如何实施下面列出的特定解决scheme。 这里面临的挑战是确定何时需要推送以及何时启动过程 1)一种方法是使用xmpp的xep-0184实现来检查消息是否被传递。 要做到这一点,我们应该有一些交付标志与消息在ios数据库,这是更新时,从另一端收到交付的响应。 所以我们稍后需要检查这个标志,如果传递的状态是错误的,则启动消息的推送过程。 看起来是一个复杂的解决scheme(等待反应..检查国旗有一段时间滞后..不是很令人印象深刻) 2)更直接的方法是在openfire中做一些事情,当openfire不能传递一个消息的时候,它将它存储在离线表中,我们可以在那个部分做一些截取,并且启动消息的推送过程。 这看起来是正确的方法,但是我真的害怕在openfire中得到那么多东西,并且改变一些东西(也许很容易,有人用openfire做了一些工作可以告诉?) 3)这是我的最后手段,这不是一个解决scheme..但是如果我不能在预期的时间范围内(这是一个星期后)正确地做到这一点,我们计划发送所有消息的推送通知。 oppenfire会照顾正常的聊天,同时从我们的服务器发送每条消息的推送,但是当应用在前台时,我们会做一些事情来处理额外的推送消息,不需要显示,否则每当有一个推信息。 你们如何看待这种暂时的方式(我们当然必须尽快改变这种情况),这是可行的(或者我也错过了这里的一些东西)。 PS任何人都可以告诉Whatsapp和其他stream行的应用程序如何处理这个? 非常感谢您的帮助。

如何更新我们的支持arm64 Build的静态库架构?

几天前我创build了静态库(通用) ,与Xcode5.0 SDK7工作正常。 使用SDK7.1更新Xcode5.1后,如果我select模拟器iPhone Retina(4-inch 64-bit)不起作用。 然后,我要更新我的库与波纹pipe设置更改。 我为三个目标做同样的事情: 对于体育模拟器以及设备,我把通用库,并在此我运行脚本: – 在此之后,我再次构build库和使用,因为我以前在我的项目。 但iPhone Retina(4-inch 64-bit) Undefined symbols for architecture x86_64:依然存在同样的问题Undefined symbols for architecture x86_64: 所以,我的问题是,是否有任何额外的更新需要更新lib的arm64或我在上面的步骤中的任何错误。 如果我错了,请通知我。 更新我的静态库,以支持64Bit architecture需要什么样的更改 注意: 我要求我自己创build的库更新。 我不使用第三方库。 更新 我用这个lipo -info testingLibImport/libLibNSlog.a命令到我的terminal输出是: Architectures in the fat file: testingLibImport/libLibNSlog.a are: armv7 armv7s i386 arm64

iOS 5自定义标签栏图像垂直alignment

我收到了一些奇怪的行为,我的自定义标签栏。 图像似乎被排列不正确。 这是一个截图(我已经删除了我自己的标签栏背景,以突出我的问题): 这里是我用来设置每个状态的图像的代码: self.tabBarController = [[[UITabBarController alloc] init] autorelease]; self.tabBarController.viewControllers = [NSArray arrayWithObjects:homeNavController, whatsOnNavController, mapNavController, infoNavController, nil]; self.tabBarController.delegate = self; // For iOS 5 only – custom tabs if ([self.tabBarController.tabBar respondsToSelector:@selector(selectedImageTintColor)]) { // Set the background images //[[UITabBar appearance] setBackgroundImage: [UIImage imageNamed:@"nav_bg.png"]]; [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"nav_over.png"]]; [homeNavController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"nav_home_over"] withFinishedUnselectedImage:[UIImage imageNamed:@"nav_home"]]; [whatsOnNavController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"nav_whats_on_over"] […]

Xcode 6 GM iPhone 6模拟器 – 故事板大小不正确,放大显示

我正在使用新的Xcode 6 GM Seed并在iPhone 6和iPhone 6 Plus模拟器上testing我的应用程序。 我在之前的一些项目上得到了一个奇怪的效果,也就是说,这些视图似乎正在获得“放大”的效果。 这是一个例子。 这两个视图控制器是完全相同的(减去不同的导航项目文本),直到标签文本大小。 但是,您可以看到视图显示不同。 放大 正常 请注意,具有怪异缩放效果的项目具有8.0的部署目标。 注意:通过在新的Xcode 6 GM种子中制作项目(不工作的项目是在旧版本的Xcode上制作的),我得到了正常的工作。

使用自动布局将UITableView的高度设置为其内容的高度

我有一个视图里面有两个标签和一个表视图。 我希望标签1始终保持在我的表格视图之上,标签2位于表格视图之下。 问题是,表视图需要自动resize,意思是增加高度或减less。 现在我有一个约束说,表视图的高度总是等于85和一个@IBOutlet的高度约束,我可以改变常数。 我猜我需要改变所有的单元格的高度,但我不知道如何。

在这个区块强烈捕捉“自我”可能会导致一个保留周期

我有块要求。 但编译器发出警告 “在这个区块强烈地捕捉”自我“可能会导致一个保留周期” __weak typeof(self) weakSelf = self; [generalInstaImage setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:data[@"images"][@"low_resolution"][@"url"]]] placeholderImage:[UIImage imageNamed:@"Default"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { NSLog(@"success"); [generalInstaImage setImage: image]; [weakSelf saveImage:generalInstaImage.image withName:data[@"id"]]; } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { NSLog(@"fail"); }]; 我尝试写例如weakSelf.generalInstaImage示例,但编译器生成一个错误,不编译。

创buildNSURLSessionTasks队列的最佳实践

什么是做一个NSURLSessionTasks串行队列的最佳做法? 就我而言,我需要: 在JSON文件( NSURLSessionDataTask )中获取URL 在该URL下载该文件( NSURLSessionDownloadTask ) 以下是我到目前为止: session = [NSURLSession sharedSession]; //Download the JSON: NSURLRequest *dataRequest = [NSURLRequest requestWithURL:url]; NSURLSessionDataTask *task = [session dataTaskWithRequest:dataRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { //Figure out the URL of the file I want to download: NSJSONSerialization *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]; NSURL *downloadURL = [NSURL […]

核心数据:以任何方式来获取多个实体?

我刚刚开始使用核心数据,作为一个学习练习,我正在构build一个应用程序,我需要在单个表视图中显示不同types的对象。 举一个例子,假设我有一个“奶酪”实体和一个“海盗”的不相关实体。 在我的应用程序的主屏幕上,用户应该能够创build一个“奶酪”或“海盗”实例添加到表视图。 因此,使用核心数据编辑器,我已经为Cheese和Pirate创build了实体…但是,NSFetchRequest似乎只允许您一次检索一种types的实体: NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Cheese" inManagedObjectContext:_context]; [fetchRequest setEntity:entity]; 有没有办法执行一个检索所有“奶酪”和“海盗”对象的提取? 谢谢。