无法定位自定义navigationItem titleView

时间:2016-02-19 18:30:32

标签: ios uinavigationcontroller uinavigationitem

我有一个自定义视图(titleView),我是在iOS应用上为webView创建的。 titleView有两个标签,titleLabelsubTitleLabel。如果titleLabel的{​​{1}}太宽,我会截断文本并让它填满整个框架。但只要titleView小于titleLabel,就会出现问题。当我尝试计算titleView帧的位置时,我得到的结果不一致。我只是假设我会将titleLabeltitelView.frame.size.width的宽度区分开,并将其除以2,但它不起作用。我可能错过了一些愚蠢的东西,但我只是看不到它。有一点需要注意的是titleLabel.frame.size.width似乎定位得相当好,虽然它并不完美,但它比subTitleLabel更好。

以下是一些图像(我添加了titleLabel的边框,它是帮助显示定位的子视图),显示了各种长度标题字符串的定位:

offset to the left slightly offset to the right

代码:

titleView

1 个答案:

答案 0 :(得分:0)

您正在计算您的标题标签来源错误请记住任何视图来源是左上角,因此您的标题标签来源应该类似

CGFloat originX = titelView.frame.size.width/2 - titleLabel.frame.size.width/2

您正在做的是假设视图原点位于视图的中心