Ios 定位自定义导航项标题视图时出现问题

Ios 定位自定义导航项标题视图时出现问题,ios,uinavigationcontroller,uinavigationitem,Ios,Uinavigationcontroller,Uinavigationitem,我有一个自定义视图(titleView),是我在iOS应用程序上为webView创建的。标题视图有两个标签,一个是标题标签,另一个是字幕标签。如果标题标签对于标题视图来说太宽,我会截断文本并让它填充整个框架。但是只要标题标签小于标题视图,就会出现问题。当我试图计算标题标签框架的位置时,我得到了不一致的结果。我只是假设我会取titelView.frame.size.width和titleLabel.frame.size.width的宽度之差,然后除以2,但它不起作用。我可能错过了一些愚蠢的事情,但

我有一个自定义视图(
titleView
),是我在iOS应用程序上为webView创建的。
标题视图
有两个标签,一个是
标题标签
,另一个是
字幕标签
。如果
标题标签
对于
标题视图
来说太宽,我会截断文本并让它填充整个框架。但是只要
标题标签
小于
标题视图
,就会出现问题。当我试图计算
标题标签
框架的位置时,我得到了不一致的结果。我只是假设我会取
titelView.frame.size.width
titleLabel.frame.size.width
的宽度之差,然后除以2,但它不起作用。我可能错过了一些愚蠢的事情,但我就是看不到。需要注意的一点是,
字幕标签
的位置似乎相当好,尽管它并不完美,但它比
标题标签
要好

以下是一些图像(我在标题视图中添加了边框,以及有助于显示定位的子视图),它们显示了不同长度标题字符串的定位:

代码:


您计算标题标签原点时出错请记住,任何视图原点都是左上角,因此标题标签原点应该类似

CGFloat originX = titelView.frame.size.width/2 - titleLabel.frame.size.width/2
您所做的是假设视图原点位于视图的中心

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