IOS的最佳单选按钮实现

Jon*_*gel 47 iphone cocoa-touch uibutton radio-button ios

我想询问是否有关于如何在iPhone应用程序上实现单选按钮选项的示例.

我发现Picker View非常适合简单的选择功能.

我不确定Apple是否故意排除了单选按钮,以及是否更好地从可用性/用户体验的角度简单地使用Picker View.

one*_*ray 41

我对最佳单选按钮实现应该是什么样子有一些想法.它可以基于UIButton类并使用它的"选定"状态来指示组中的一个.在UIButton拥有IB本地定制选项,所以很方便设计XIBs.还应该有一种使用IB插座连接分组按钮的简单方法:

我在这个RadioButton课程中实现了我的想法.奇迹般有效:

下载示例项目.


jls*_*ker 24

试试UISegmentedControl.它的行为类似于单选按钮 - 提供一系列选项,让用户选择1.

  • 希望Apple的文档包含图像.*叹* (8认同)

tha*_*h84 19

只想总结一下,可能有4种方法.

  • 如果没有太多空间,请为文本或按钮添加单击事件,然后显示UIPickerView:

UIPickerView

或者使用复选标记打开一个新的表格视图控件:

UITableView的

  • 如果有更多空间,请将表格视图直接添加到主视图中:

在此输入图像描述

  • 最终的解决方案是使用UISegmentedControl:

在此输入图像描述

希望这可以帮助.


Dav*_*Liu 8

尝试DLRadioButton,适用于SwiftObjC.您还可以使用图像指示选择状态或自定义您自己的样式.

GitHub上查看.

适用于iOS的单选按钮

**更新:在右侧添加了选择指示器的选项.

**更新:添加方形按钮IBDesignable,提高性能.

**更新:添加了多项选择支持.


rid*_*dhi 8

我知道很晚才回答这个问题,但希望这对任何人都有帮助.

您可以使用创建单选按钮的按钮IBOutletCollection.在我们的.h文件中创建一个IBOutletCollection属性.

@property (nonatomic, strong) IBOutletCollection(UIButton) NSArray *ButtonArray;
Run Code Online (Sandbox Code Playgroud)

使用此IBOutletCollection连接所有按钮,并为所有三个按钮制作一个IBAction方法.

- (IBAction)btnTapped:(id)sender {
       for ( int i=0; i < [self.ButtonArray count]; i++) {
           [[self.ButtonArray objectAtIndex:i] setImage:[UIImage                         
            imageNamed:@"radio-off.png"]                 
            forState:UIControlStateNormal];
       }
     [sender setImage:[UIImage imageNamed:@"radio-on.png"]
      forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)


Ada*_*ach 7

对于选项屏幕,特别是在有多个无线电组的情况下,我喜欢使用分组表视图.每个组都是一个无线电组,每个组都是组内的一个选择.使用单元格的附件视图作为复选标记指示您需要哪个选项是微不足道的.

如果只有UIPickerView可以做得更小或者它们的渐变更适合平铺两个页面......


Sim*_*ker 5

我已经编写了一个控制器来处理单选按钮数组背后的逻辑.它是开源的,在GitHub上,看看吧!

https://github.com/goosoftware/GSRadioButtonSetController