【问题标题】:How can I add two UIBarButtonItems to UINavigationItem?如何将两个 UIBarButtonItems 添加到 UINavigationItem?
【发布时间】:2010-06-09 17:25:06
【问题描述】:

我希望 UINavigationBar 上有两个 rightBarButtonItem。我怎样才能做到这一点?

【问题讨论】:

    标签: iphone objective-c cocoa-touch uinavigationcontroller


    【解决方案1】:

    您可以使用带有两个按钮的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];
    }
    

    【讨论】:

    • 可以将 UISegmentedControl 转换为 UIBarButtonItem 吗?
    • 我已经更新了我的答案,以展示如何使用 UISegmentedControl 作为 rightBarButtonItem。
    猜你喜欢
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多