描述可能有点令人困惑,我添加了图片以试图说明我所描述的内容。请让我知道我可以澄清什么来帮助。
我有一个iPad应用程序,主视图是xib。 xib的大小为1024 x 1384,可以在横向模式下查看。 iPad屏幕底部有一排可见的按钮。当按下其中一个按钮时,我移动框架,使这些按钮现在位于屏幕可见部分的顶部。还有其他元素从屏幕外开始,然后在移动后进入屏幕。
我遇到的问题是从屏幕外启动的UIButton没有调用与之关联的IBAction。
我已经尝试将setUserEnabled设置为YES,但这似乎也没有任何区别。动画完成后我也尝试了setNeedsDisplay。
有人有什么想法吗?
答案 0 :(得分:3)
将视图添加到屏幕时,它会更改视图的大小以适合屏幕上的可见部分。因此,您的框架小于视图的总内容区域。移动框架不会为你做任何事情;它会移动现有的可见内容,但不会更改视图以显示新的可见内容。
相反,您希望更改视图bounds.origin
,这将更改视图内容的可见部分。
修改强>
请注意,即使视图缩小,我怀疑主视图上的clipsToBounds
属性设置为NO
。这意味着它实际上将继续显示界限之外的内容,这就是它出现的原因。但是,命中测试仅适用于视图的实际帧。显示在界限之外的所有内容仍然可见,但它不是可交互的。