UIBarButtonItem的自定义视图

时间:2015-11-17 23:20:08

标签: ios autolayout uinavigationbar uibarbuttonitem

UIBarButtonItem我遇到了一个奇怪的问题。我正在使用自定义视图创建一个,并且视图属于我自己的MyCustomView类型。它包含几个标签和一些其他子视图。每当我在此自定义视图类中使用autolayout来布局子视图时 - 按钮将显示在屏幕的左上角!您可以在下面的图片中看到它 - MyCustomView只有一个带灰色背景的子视图,我使用自动布局来拉伸它以填充父MyCustomView

wrong

当我不使用自动布局时,一切正常,按钮正常显示:

right

任何人都可以向我解释这里发生了什么,我是否可以在自定义视图中使用autolayout,这些视图将被放入UIBarButtonItem s(可能不在最顶层)?

更新:在我执行

后会发生这种情况
    self.translatesAutoresizingMaskIntoConstraints = NO;
<{1>}中的

- 应放在条形按钮中的顶视图中。我这样做是为了让系统调用我的MyCustomView方法。我想使用旧的intrinsicContentSize代替仍然可以。

更新2:以下是测试代码:

sizeThatFits:

我很乐意得到解释,以了解正在发生的事情。

0 个答案:

没有答案