2011-08-02 38 views
0

昨天发生了一些有趣的事情,我不知道它是否曾发生过其他人。我基本上添加一个UIBarButtonItem到工具栏根据tabbarcontroller中选择哪个选项卡。例如,在选项卡2,我补充这样的:iOS模拟器与iPad 2不兼容,UIBarButtonItem

NSMutableArray *barItems = [[self.MainToolbar items] mutableCopy]; 
      if (_sortButton == nil) { 
       _sortButton = [[UIBarButtonItem alloc] initWithTitle:@"Sort" style:UIBarButtonItemStyleBordered target:self action:@selector(sortButtonPressed:)]; 
      } 
      [barItems insertObject:_sortButton atIndex:0]; 
      [self.MainToolbar setItems:barItems]; 
      [barItems release]; 

同样,当我删除的按钮,我这样做:

if (_sortButton != nil) { 
      self.SortButton = nil; 
      NSMutableArray *barItems = [[self.MainToolbar items] mutableCopy]; 
      [barItems removeObjectAtIndex:0]; 
      [self.MainToolbar setItems:barItems]; 
      [barItems release]; 
     } 

所以,在模拟器上,它工作正常。我可以切换标签,浏览应用程序,我没有看到按钮的问题。我还用仪器测试了这个功能,但没有看到任何明显的问题。然后,当我将它放在实际的iPad 2上时,当我第一次点击该选项卡时,它显示正常,然后我单击了不同的选项卡,然后单击回到选项卡2,然后按钮将移动到稍微有一点(它在开始时位于工具栏左侧)。然后你点击一下,然后回来,再次移动到右侧。不知道为什么它会发生,但我也不确定为什么它只发生在设备上,而不是在模拟器中发生这样的事情。我一定知道,应该总是在实际的硬件上测试,但只是想知道这是否是其他人已知的问题。谢谢!

回答

0

我有一个类似的问题。

在我的情况下,.png文件已从项目和项目的工作目录中删除 - 出于某种原因。 因此它不再包含在复制包资源中。

奇怪的是,显然它仍然在模拟器上。就我而言,它甚至还在调试设备上。但是当为临时分发构建一个boulde时,它不在其中。因此,完整按钮(导航栏中的栏按钮项)没有出现。用户无法调用与之关联的操作。

首先我从模拟器中删除应用程序。我尝试了两种方法,从模拟器的gui和文件系统/用户//库/应用程序支持/ iPhone模拟器/ 5.0 /应用程序/(应用程序ID)/ ...擦除它。在这两种情况下,运行simulatore上的应用程序都会重新安装未使用的.png文件和其他许多从我的xcode项目中有意删除的文件。

但是,最终的解决方案是再次在xcode项目中包含png文件并将其分配给所有相关目标。在我的情况下,我正要改变图形,所以我包含了新文件而不是旧文件。但我相信这个细节并不重要。

简版: 1.如果你的PNG文件仍然是项目的一部分,那么删除它。从项目文件夹中删除ist也只是为了保存。 2.重新将png文件包含到项目中。 3.创建您的版本并在空设备上试用。