iOS - NavigationItem titleView 在第一次加载时居中,但随后固定在左上角

iOS - NavigationItem titleView is centered on first load, but then becomes pinned to top left

我以编程方式将 UISegmentedControl 添加到 navigationItem.titleView

第一次显示时,它像我期望的那样居中。但是,当我深入了解详细信息视图控制器时,我可以看到我的 titleView 视图被推到了左上角,但我没有尝试将其取回

在我的初始化方法中我这样做

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent];
segmentedControl.selectedSegmentIndex = 0;
[segmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO];
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
//segmentedControl.frame = CGRectMake(0, 0, 280.0f, 30.0f);


self.navigationItem.titleView = segmentedControl;

一段时间后我意识到设置 CGRectMake 没有影响

我也尝试过将此登录名放入 viewDidAppear 但也没有更改此结果

以前,当我尝试将一个 UISegmentedControl 放在另一个 UIView 中时,我无法点击 UISegmentedControl(我不确定我是否有这个变体解决了我的定位问题)

如果你只有 2 个段,我认为调整大小不需要它,它的宽度将始终适合 iPhone 4 和更低。

如果删除以下内容会发生什么:

[segmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO];
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;