【发布时间】:2011-09-26 06:40:54
【问题描述】:
我有一个 iOS 应用程序,在一个视图中,它在代码中创建了一个工具栏。这里没有什么花哨的;只是一堆标准的 UIBarButtonItems(用 initWithImage 初始化,每个调用一个不同的选择器),使用 UIToolbar setItems:animated(没有动画)添加到工具栏(连同分隔符)。
这在大多数情况下都可以正常工作...但有时,在转到另一个视图并多次返回此视图后,工具栏的触摸处理似乎已关闭。它突出显示并调用错误的按钮。也不总是同一个错误的按钮。有时它就在我实际点击的那个旁边,但有时它离我更远,甚至在工具栏的另一边也很清楚。
它没有模式,但如果你尝试足够长的时间(切换到另一个视图,然后再回到这个),它总是会发生。当另一个视图处于不同的屏幕方向时(由其 shouldAutorotateToInterfaceOrientation 实现强制)似乎更经常发生,但即使所有视图都具有相同的方向,它仍然不时发生。当它发生时,我的选择器会被一个与实际突出显示的按钮匹配的发送者调用,而不是我触摸的那个。所以这似乎是 iOS 中没有正确处理触摸的问题。
我的 google-fu 完全没有发现任何其他关于这个问题的报告......似乎它一定是一个 Apple 错误,因为我的代码都没有涉及工具栏触摸处理。在 iOS 4.3 下的模拟器和设备上都会发生这种情况(尚未尝试其他版本)。
还有其他人遇到过这个问题吗?关于如何避免它的任何建议?
【问题讨论】:
-
我认为您将不得不在创建工具栏的位置发布代码。
标签: ios cocoa-touch uitoolbar highlight