【问题标题】:How to add a UIControl as or into a UIBarButtonItem如何将 UIControl 添加为 UIBarButtonItem 或添加到 UIBarButtonItem
【发布时间】:2016-11-24 03:48:58
【问题描述】:

如何添加自定义UIControl,例如https://github.com/mattlawer/MBSwitch 到导航栏?具体来说,我需要它成为左侧的第二个按钮栏项。

我尝试这样做的原因是,我需要调整大小的UISwitch,并将关闭状态自定义背景颜色作为导航栏左侧的第二项。我可以调整开关的大小,但如果我想设置背景颜色,我会遇到如下所述的问题: How do I make a UISwitch under iOS 7 not take the background colour of the view behind it?

【问题讨论】:

    标签: ios objective-c uibarbuttonitem uiswitch


    【解决方案1】:

    您应该可以使用initWithCustomView:。在这种情况下,按钮不会处理任何点击,因此您应该使用开关交互来进行所有状态更改。

    【讨论】:

    • 左按钮栏已经在storyboard中添加了一个按钮,那又如何呢?我也试过 [self.navigationItem.leftBarButtonItems arrayByAddingObject:filterSwitch];没有成功。
    • 您需要将所有按钮添加到一个数组中。如果您只有一个项目,那么它在另一个属性中,而不是在数组选项中。这很奇怪而且违反直觉,但事实就是这样......
    • 试过 [_switchButtonBarItem initWithCustomView:filterSwitch];但它没有用。第一个 leftbuttonitem 就是所有内容。 IE。 filterSwitch 是我想成为我的第二个项目。
    • 这似乎适用于情节提要中已添加的一项:UIBarButtonItem *switchButtonBarItem = [[UIBarButtonItem alloc]initWithCustomView:_filterSwitch]; NSArray * a = [self.navigationItem.leftBarButtonItems arrayByAddingObject:switchButtonBarItem]; self.navigationItem.leftBarButtonItems = a;
    猜你喜欢
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多