如何在不使用 InterfaceBuilder 的情况下将 UISwitch(切换开关)添加到 UIToolBar

Posted

技术标签:

【中文标题】如何在不使用 InterfaceBuilder 的情况下将 UISwitch(切换开关)添加到 UIToolBar【英文标题】:How can I add UISwitch(toggle switch) to UIToolBar without using InterfaceBuilder 【发布时间】:2010-04-27 13:14:44 【问题描述】:

如何在不使用 InterfaceBuilder 的情况下将 UISwitch(toggle switch) 添加到 UIToolBar ? 它不是系统项目,所以我无法使用

UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
                                                                             target:self
                                                                             action:@selector(pressButton1:)];

如何以相同的方式添加切换开关? 谢谢你。

【问题讨论】:

【参考方案1】:

只需将-initWithCustomView: 与您的开关一起用作该自定义视图。

【讨论】:

但是,我无法将其设置为用户启用。我应该添加代码以便在触摸时切换它吗? @srikanth:我想是的。条形按钮项的视图本身也是一个按钮,可能会劫持触摸。不过,您可以设置条形按钮项的targetaction 属性。 对不起,我学习缓慢。但是,我看到了以下方法。它没有像其他方法那样的目标和动作。 - (id)initWithCustomView:(UIView *)customView; 对不起,我没查好。它正在切换。这是工作。我需要为开和关条件添加选择器。谢谢。 @srikanthrongali 你试过绑定到UIControlEventsValueChanged吗?【参考方案2】:

这是我在我的 swift 应用中所做的,我必须在两种不同的显示模式之间切换。

    let optionSwitch:UISwitch = UISwitch()

    let optionToolButton:UIBarButtonItem = UIBarButtonItem(customView: optionSwitch);
    self.navigationItem.rightBarButtonItem = optionToolButton

【讨论】:

以上是关于如何在不使用 InterfaceBuilder 的情况下将 UISwitch(切换开关)添加到 UIToolBar的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用助手编辑器的情况下将 IBOutlet 和 IBAction 连接到视图控制器

如何在不通过 Interface Builder 获取 UIButton 类的背景的情况下添加图像?

如何在不“连接”它们的情况下以编程方式访问 NIB 中的 UI 元素?

UIPickerView 编程示例?

如何从以编程方式创建的 UITableView 中分离?

如何在Xcode 8中更好地使用StoryBoard