添加导航栏
答
你想使用Interface Builder还是仅使用代码?
使用IB操作非常简单,您只需将分段控件拖放到标题所在的导航栏上即可。标题将被分段控制所替代。
如果您想在代码中完成此操作,请参阅this section of iPhone reference library。您似乎需要将导航项目的titleView
属性设置为您的分段控件,它是UIView的子类,因此这是完全合法的。
答
在viewDidLoad
:
OBJ-C:
NSArray *segmentTitles = @[
@"segment1",
@"segment2",
];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTitles];
segmentedControl.selectedSegmentIndex = 0;
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// change the width from 400.0 to something you want if it's needed
segmentedControl.frame = CGRectMake(0, 0, 400.0f, 30.0f);
[segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
self.navigationItem.titleView = segmentedControl;
迅速:
let segmentTitles = [
"segment1",
"segment2",
]
let segmentedControl = UISegmentedControl(items: segmentTitles)
segmentedControl.selectedSegmentIndex = 0
segmentedControl.autoresizingMask = UIViewAutoresizing.FlexibleWidth
// change the width from 400.0 to something you want if it's needed
segmentedControl.frame = CGRectMake(0, 0, 400.0, 30.0)
segmentedControl.addTarget(self, action: "segmentChanged:", forControlEvents: UIControlEvents.ValueChanged)
self.navigationItem.titleView = segmentedControl
你能不能把更新的链接,因为它已经过时? thx – xon1c 2011-07-12 17:32:36
@ xon1c:好的,完成了 – madej 2011-08-23 10:58:54