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

时间:2016-11-11 12:40:50

标签: ios objective-c uinavigationcontroller uinavigationitem

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

@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时,分段控件仍然存在,因此最近推送的视图标题将与分段控件重叠。

enter image description here

如何使用前一个视图将分段控件推入堆栈?

1 个答案:

答案 0 :(得分:1)

而不是将UISegmentedControl subView添加为navigationBar设置为titleView navigationItem的{​​{1}}。

self.navigationItem.titleView = _segView;