ios - 带有 UIButtons 的 UIView 在单击或旋转之前未显示

标签 ios uiview uibutton custom-controls

过去两天我一直在为这个问题苦思冥想。谷歌搜索了很多但还没有找到答案,所以我决定在这里寻求帮助。让我们看看我是否有运气。

我正在编写一个可重复使用的控件,它由一个 UIView 和数量可变的自定义 UIButtons 组成。我实现了 initWithFrame:、initWithCoder: 和 drawRect: 按钮(在绘制之前构建)实际上被添加到 View 中。一切都以编程方式完成,因为在使用控件时应提供 UIButton 内容,因此此 UIView 没有 XIB。

这个 UIView,我们称它为 CustomizableBarButton 然后在 UIViewController 中使用,我们称它为 MyTestViewController它的一个 View ,我们称它为 customizableBarButtonView

MyTestViewController 的 GUI 在 IB 上设置,其中 UIView 绑定(bind)到 customizableBarButtonView(相应类匹配)。

MyTestViewController 是一个非常标准的类,除了 viewWillAppear:它初始化按钮并将它们与一些按钮一起传递给 CustomizableBarButton其他选项。

问题是一切都很完美……除了第一次!

我的意思是,当我在模拟器上运行应用程序时(我还没有在 iPhone 上尝试过,但我坚信这不是硬件问题)MyTestViewController 显示 customizedBarButtonView 背景但不是按钮。现在,当您单击应该是按钮的位置时,所有按钮都会突然出现!

我很困惑,因为 CustomizablebarButton drawRect: 在奇怪的“点击即出现”效果之前运行,并且按钮实际上已添加到 subview 。

另一个暗示我的帮助:如果你不点击按钮(所以你仍然没有按钮)但旋转设备它们也会像变魔术一样出现!

这可能是非常简单的事情,但我想念它,我快疯了......

有人可以帮忙吗?

提前致谢!

最佳答案

您说要在 drawRect: 中添加按钮。不要那样做。您需要在初始化方法中添加按钮。

关于ios - 带有 UIButtons 的 UIView 在单击或旋转之前未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8990498/

相关文章:

iphone - 在 xib 文件中选择后如何更改 uibutton 图像

ios - 屏蔽 UIView

ios - 顶部带有 UIViews 的滚动 Collection View ?

ios - 在 iOS 中旋转屏幕时如何执行某些操作?

ios - 如何使用 UIViewAnimationTransitionCurlUp 为自定义的不规则奇怪形状 UIButton 设置动画?

ios - 使用 UIGestureRecognizer (iOS) 围绕 anchorPoint 平移、缩放、旋转 UIView

swift - 以编程方式在自定义 View 中水平添加按钮

objective-c - 如何处理动态创建的 UIButton 元素的自动调整大小

ios - setHidden 背后的目的

android - 使用不透明蒙版时图像的自动变换失败