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;
我以编程方式将 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;