我有一个奇怪的问题,即建立在调试模式下时,我已经建立了为iPhone定制的控制完美的作品,但只有建立在发布模式工作时部分。

在主包装视图是UIView的子类,它包含被添加作为子视图“按钮”的行。自定义按钮类扩展UIImageView并覆盖具有以下签名触摸方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

在构建调试代码,这些功能全部4个被称为在你所期望的时间,与发布版本,没有任何反应。我已登录他们每个人的和我没有得到任何日志消息(其它测井工作)。

另一个有趣的事情,我有的touchesBegan /移动。在包装视图类中重写/截止的方法和他们工作的罚款。我试着注释掉包装类这些方法,看它是否对这些按钮的作用,但事实并非如此。

我也试图改变UIImageView类是UIButton,而不是一个子类,但我有没有同样的问题,包括像touchUpInside任何事件。他们在调试工作,但没有公布。

我试图研究这个问题以及一般的事件处理,并拿出空手而归。任何想法在哪里下一看?

有帮助吗?

解决方案

我终于想通了这个问题 - 包装的“按钮”的项目有0的高度。在调试模式下,应用程序想通了,即使他们没有的点击区域内的按钮都被感动了父视图(clipsToBounds被默认为NO,因此按钮项目仍完全可见),在释放模式中,没有这么多。

希望这可以帮助节省一些人挠头和调试时间,我不得不经历:)我还张贴这一个bug在苹果,所以希望这将是固定的一天。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top