如何使导航栏的子视图随视图推送

Posted

技术标签:

【中文标题】如何使导航栏的子视图随视图推送【英文标题】:How to make navigation bar's sub view pushed with view 【发布时间】:2016-11-11 12:40:50 【问题描述】:

我的navigationBar 上有一个UISegmentedController。分段控件是使用以下代码添加的:

@property (nonatomic) UISegmentedControl *segView;
...
- (void)viewDidLoad 
    [super viewDidLoad];

    _segView = [[UISegmentedControl alloc] initWithItems:@[@"Seg1", @"Seg2"]];
    [_segView setSelectedSegmentIndex:0];
    [_segView addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
    [self.navigationController.navigationBar addSubview:_segView];

当我将视图推送到navigationController 时,分段控件还在,所以最近推送的视图的标题会与分段控件重叠。

如何使分段控件与前一个视图一起被压入堆栈?

【问题讨论】:

【参考方案1】:

而不是像这样将navigationBar 中的UISegmentedControl 添加为subView 设置为titleViewnavigationItem

self.navigationItem.titleView = _segView;

【讨论】:

正是我所需要的。 :)

以上是关于如何使导航栏的子视图随视图推送的主要内容,如果未能解决你的问题,请参考以下文章