在点击或旋转之前UIVuttons没有显示UIView

时间:2012-01-24 16:35:41

标签: ios uiview uibutton custom-controls

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

我正在对可重复使用的控件进行编码,该控件由UIView和可变数量的自定义UIButtons组成。我实施了initWithFrame:,initWithCoder:和drawRect:其中按钮(在绘图之前构建)实际上已添加到视图中。所有内容都以编程方式完成,因为在使用控件时应提供UIButton内容,因此UIView没有XIB。

这个UIView,我们称之为CustomizableBarButton然后在UIViewController中使用,让我们称之为MyTestViewController,并在其上调用它,让我们称之为customizableBarButtonView }。

MyTestViewController的GUI设置在IB上,其中UIViewcustomizableBarButtonView绑定(该类相应地匹配)。

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

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

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

我很困惑,因为CustomizablebarButton drawRect:在奇怪的“click n'appear”效果之前运行,按钮实际上被添加到子视图中。

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

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

有人可以帮忙吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你说你在drawRect:添加了按钮。不要那样做。您需要在init方法中添加按钮。