从 iPad 屏幕移入后 UIButtons 无响应

Posted

技术标签:

【中文标题】从 iPad 屏幕移入后 UIButtons 无响应【英文标题】:UIButtons non-responsive after being moved in from off iPad screen 【发布时间】:2012-06-20 18:05:17 【问题描述】:

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

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

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

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

有人有什么想法吗?

【问题讨论】:

您已确认您的连接在接口生成器中连接正确,对吗?通常值得回去仔细检查。 我已验证接口构建器中的连接已正确连接,之前和再次响应您的评论。 显示离屏按钮时,只需写[self.view bringSubVieToFront:yourOffScrenButtonName]; 【参考方案1】:

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

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

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

【讨论】:

以上是关于从 iPad 屏幕移入后 UIButtons 无响应的主要内容,如果未能解决你的问题,请参考以下文章

如何在设备旋转后以编程方式创建的 UIButtons 保持在屏幕底部?

win10白屏怎么办

当用户选择 UITable 行时显示等待屏幕

bug鼠标移入Echarts屏幕抖动

从左到右将 UIView 移出屏幕并从左再次将其移入

通用 iOS 应用程序 - UIButton 和 UITableView 大小