如何将自定义UIView设置为导航项的titleView并使其大小合适?

时间:2016-07-20 05:06:29

标签: ios cocoa-touch uiview uinavigationcontroller uinavigationbar

我有自定义UIView。死的简单,如果可能的话,总是想要300x30。

class MyVoo: UIView {
    override func sizeThatFits(size: CGSize) -> CGSize {
        return CGSize(width: 300, height: 30)
    }
}
然后我将其设置为navigationItem的{​​{1}}属性,如下所示:

titleView

但是当我运行它时,它看起来像这样:

enter image description here

你可以看到宽度很奇怪。由于某种原因,它设置为246,这稍微过多,导致后退按钮文本被切断。我不介意它被切断,但它应该更好地占据左侧的空间,或者是适当的大小并允许显示后退按钮文本。

基本上我的问题是:如何在导航栏中正确调整此自定义let voo = MyVoo() voo.backgroundColor = .magentaColor() navigationItem.titleView = voo voo.sizeToFit() 的大小?现在它非常明显地“关闭”了,我希望它能够有效地表现得好像只是UIView(而不是navigationItem.title)到300px的文本。适当缩短,后退按钮有正确的文本等。而不是这个奇怪的解决方案,它根本没有适当的大小。我如何正确调整尺寸以及如何确定尺寸?

0 个答案:

没有答案