使用 UIButtons 实现切换开关?

Posted

技术标签:

【中文标题】使用 UIButtons 实现切换开关?【英文标题】:Implementing Toggle Switches using UIButtons? 【发布时间】:2011-06-11 23:03:10 【问题描述】:

我有两个按钮,一个名为“开”,另一个名为“关”。它们被放置在主视图控制器上。

当用户按下“开”按钮时,我希望当他们点击“声音视图”和“声音视图”等其他视图时,会弹出一个UIAlertView。所以“On”按钮激活UIAlertViews,但是一旦用户按下“Off”按钮,所有UIAlertViews都被禁用。

【问题讨论】:

【参考方案1】:

创建一个切换按钮方法并从您的按钮调用此方法。你的方法应该是这样的:

onButton = [[UIButton alloc] initWithFrame:CGRectMake(140,25,160,20)];
offButton = [[UIButton alloc] initWithFrame:CGRectMake(140,125,160,20)];
- (void) toggleButton: (UIButton *) button 
 
 if(button == onButton )


    // do whatever you want

else if(button == offButton )

    // do whatever you want

我没有在 if 子句中写方法,但我希望你明白我的意思。

【讨论】:

但这只能在 1 个视图中使用,对吧?我需要它,所以一旦用户点击了 on 按钮,它就会出现在我设置的所有视图上。 没问题。创建一个全局布尔变量(在 AppDelegate 上创建实例)来保存此开/关信息。你可以在你的任何班级检查这个。 好吧,这仍然是新的,所以我还在学习,当我构建它时,我在 uibutton = on 和 uibutton = off 行上得到“错误:初始化元素不是恒定的” 我直接复制粘贴了你的代码,我不太确定实现 好的,然后在头文件上创建按钮实例,然后在方法中分配它。我的意思是这样做: UIButton* onB; .h 文件中的 UIButton* offB 然后再次检查我的帖子我编辑代码部分

以上是关于使用 UIButtons 实现切换开关?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 [(ngModel)] 两种方式数据绑定在 Angular 4 中创建切换开关开关按钮

自定义控件-点击实现开关按钮切换

label+input实现开关切换效果

Unity3D 之UGUI 切换开关(toggle)

自定义控件-拖拽实现开关切换

在 Flutter 中按下切换开关时交换小部件