1

描述可能有点混乱,我添加了图片以试图说明我所描述的内容。请让我知道我可以澄清什么以提供帮助。

我有一个 iPad 应用程序,其主视图是 xib。xib 的大小为 1024 x 1384,旨在以横向模式查看。iPad 屏幕底部有一排按钮可见。当按下其中一个按钮时,我移动框架,使这些按钮现在位于屏幕可见部分的顶部。还有一些其他元素从屏幕外开始,然后在移动后出现在屏幕上。

我遇到的问题是在屏幕外启动的 UIButton 没有调用与之关联的 IBAction。

我已经尝试将它设置为 YES ,但这似乎也没有任何区别。动画完成后我也尝试过 setNeedsDisplay 。

有人有想法么?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

3

当您将视图添加到屏幕时,它会更改视图的大小以适应屏幕上的可见部分。因此,您的框架小于视图的总内容区域。移动框架不会为您做任何事情。它会将现有的可见内容向上移动,但不会更改视图以显示新的可见内容。

相反,您希望更改视图的bounds.origin,这将更改视图内容的可见部分。

编辑: 请注意,即使视图缩小了,我怀疑clipsToBounds主视图上的属性设置为NO. 这意味着它实际上会继续显示边界之外的内容,这就是它出现的原因。但是,命中测试仅适用于视图的实际帧。所有出现在边界之外的东西仍然是可见的,但它是不可交互的。

于 2012-06-20T19:32:55.067 回答