【发布时间】:2010-06-09 17:25:06
【问题描述】:
我希望 UINavigationBar 上有两个 rightBarButtonItem。我怎样才能做到这一点?
【问题讨论】:
标签: iphone objective-c cocoa-touch uinavigationcontroller
我希望 UINavigationBar 上有两个 rightBarButtonItem。我怎样才能做到这一点?
【问题讨论】:
标签: iphone objective-c cocoa-touch uinavigationcontroller
您可以使用带有两个按钮的UISegmentedControl,并将momentary 属性设置为YES。
这是邮件应用程序中用于转到下一条/上一条消息的内容。
更新
为了将 UISegmentedControl]1 指定为右键,您必须将其包装在 UIBarButtonItem 中(示例代码取自 NavBar sample application):
- (void)viewDidLoad
{
// "Segmented" control to the right
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
[NSArray arrayWithObjects:
[UIImage imageNamed:@"up.png"],
[UIImage imageNamed:@"down.png"],
nil]];
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(0, 0, 90, kCustomButtonHeight);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segmentBarItem;
[segmentBarItem release];
}
【讨论】: