题
我有一个奇怪的问题,即建立在调试模式下时,我已经建立了为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在苹果,所以希望这将是固定的一天。
不隶属于 StackOverflow