我想在iPhone应用程序中创建一个切换按钮。但是,我不知道究竟什么是最好的方法。
我正在考虑两种选择。
我可以继承UIButton。这样我就不必实现触摸处理了。我可以创建一个返回布尔值的方法,指示按钮处于开启还是关闭状态。
我也可以从UIView子类开始并从头开始创建它。我认为像转换动画这样的事情会更容易,但我必须创建自己的触摸处理。
您认为最好的是什么?或者你会知道更好的方法吗? (也许网上有开源/免费视图?)
编辑:我不想使用UISwitch,因为我希望我的切换按钮看起来像那样。我希望它是一个大的矩形按钮,并改变背景以指示状态。
谢谢!
答案 0 :(得分:13)
-(IBAction)toggle{
if (button.selected == NO) {
button.selected = YES;
}
else {
button.selected = NO;
}
}
或
-(IBAction)toggle:(UIButton*)sender
{
sender.selected = !sender.selected;
}
简单的家伙
答案 1 :(得分:4)
您可以使用UIButton
并设置其enabled
属性。
在Interface Builder中,您可以为启用和禁用状态设置单独的图像,IBAction
更改属性。
答案 2 :(得分:2)
只需创建一个(IBAction)方法,也可以创建一个BOOL。将BOOL默认设置为FALSE。 您的IBAction必须如下所示:
- (IBAction) .... {
if (bool) {
// do your things
}
else {
// do your things
}
bool =! bool
}
这对我有用!
答案 3 :(得分:0)
是否已有切换按钮,或者我在这里遗漏了什么?
编辑:正如其他人所说,它被称为UISwitch
,它会打开和关闭。
答案 4 :(得分:0)
可能我不理解这个问题..你为什么不使用UISwitch
答案 5 :(得分:0)
我也看过UISwitch,但在我的情况下,我不想要一个开/关按钮,我真的想要一个切换按钮。在我的例子中,我想要做的是,有一个看起来像UISegmentedControl的按钮块,但是用户可以一次“切换”控件上的多个按钮。我试图解决的问题是,我有非常有限的屏幕房地产和很多切换到屏幕上。
我的后退可能是一个充满切换单元格的UITableView。这样我就可以在屏幕的固定,可滚动区域中添加任意数量的切换。
可悲的是,UISwitch并不总是符合人们想到的UI规格,所以我猜测发布原帖的绅士也不是在寻找On / Off开关,而是想要一个按钮改变其状态
答案 6 :(得分:0)
我也需要这样做。是不是将启用状态设置为NO会阻止按钮切换回来?
更新
人们建议使用UISwitch,但可以使用所有相关的up,over,disabled,selectedUp,SelectedOver,selectedDisabled状态进行换肤吗?