iOS - NavigationItem titleView以第一次加载为中心,但后来固定在左上角

时间:2015-08-10 20:26:27

标签: ios uisegmentedcontrol uinavigationitem

我以编程方式向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的能力(我不确定我是否有一个这样的变体解决了我的定位问题)

1 个答案:

答案 0 :(得分:3)

如果你只有两个片段,我觉得它不需要调整大小,它的宽度总是适合iPhone 4及更低版本。

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

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