昨天发生了一件有趣的事情,我不知道是否曾经发生过其他事。我基本上根据tabbarcontroller中选择的选项卡将UIBarButtonItem添加到工具栏。例如,在选项卡2中,我将其添加为:
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 :(得分:0)
我有一个类似的问题。
在我的情况下,.png文件已从项目和项目的工作目录中删除 - 出于某种原因。 因此,它不再包含在Copy Bundle Resources中。
但是,很奇怪,显然它仍然在模拟器上。就我而言,它甚至还在调试设备上。但是当构建一个用于临时分发的boulde时,它不在。因此,没有出现完整按钮(导航栏中的条形按钮项)。用户无法调用与其关联的操作。首先,我从模拟器中删除了应用程序。我尝试了两种方法,从模拟器的gui和文件系统/用户//库/应用程序支持/ iPhone模拟器/ 5.0 /应用程序/(应用程序ID)/ ...中删除它。在这两种情况下,在simulatore上运行应用程序重新安装了未使用的.png文件和许多其他有意从我的xcode项目中删除的文件。
但是,最终解决方案是在xcode项目中再次包含png文件并将其分配给所有相关目标。在我的情况下,我还要改变图形,所以我包括新文件而不是旧文件。但我确信这个细节并不重要。
简短版本: 1.如果您的png文件仍然是项目的一部分,则将其删除。从项目文件夹中删除ist,只是为了保存。 2.将png文件重新包含到项目中。 3.创建您的构建并在空设备上尝试它。