我必须在我的iPhone应用程序中添加单选按钮。为此,我有一个圆形的单选按钮图像。我可以将该图像添加为子视图吗?我可以在UIImage中添加touchupinside事件吗?
答案 0 :(得分:19)
iPhone应用程序没有单选按钮。 “类似iPhone”的方法是使用选择器视图,或者在分组表视图中有几行,并在所选行上使用检查附件。
如果由于某种原因你真的觉得需要有单选按钮,请使用按钮类型为自定义的UIButton。将空白圆圈设置为“正常”控制状态的图像,将实心圆圈设置为“选定”状态的图像。
答案 1 :(得分:5)
试试UISegmentedControl。它的行为类似于单选按钮 - 提供一系列选项,让用户选择1.
答案 2 :(得分:2)
IBOutlet UIButton *checkboxButtonMale;
IBOutlet UIButton *checkboxButtonFmale;
checkboxButtonFmale.tag = 3;
checkboxButtonMale.tag = 2;
(IBAction)checkboxGenderChecked:(id)sender{
UIButton *selectedButton = (UIButton *)sender;
UIButton *toggledButton;
if (selectedButton.tag == 2 ) {
toggledButton = checkboxButtonFmale;
}
else {
toggledButton = checkboxButtonMale;
} [toggledButton setSelected:NO];
[sender setSelected:YES];
}
答案 3 :(得分:1)
您还可以创建一个UIWebView,加载到使用单选按钮的HTML,然后使用UIWebView委托方法监视无线电值。
这是一种黑客行为,但在某些情况下,它正是所要求的。
答案 4 :(得分:1)
您可以使用UIButton
的数组,然后使用我的GSRadioButtonSetController类来处理逻辑(实质上,确保只能选择一个按钮)。有关样本用法,请参阅GitHub上的README。
答案 5 :(得分:0)
您可以尝试使用UIImageView类,它只是将UIImage包装在UIView容器中。它支持touchesBegan / Canceled事件,我认为这是合适的。
您也可以考虑不使用正如您所描述的真正的单选按钮设置,而是使用更像iPhone的方法 - 例如,使用UITableView,其中包含与您的收音机选择对应的单元格以及切换选中/触摸时未经检查。有关示例,请参阅Apple iPhone开发站点上的TouchCells示例。
答案 6 :(得分:0)
如果您只有“是”或“否”选项,请使用UISwitch。
对于多种类型,请使用以下代码:
-(void)buttonPressed:(id)sender{
if([sender isSelectd])
//here change button image and set
[sender setSelected:NO];
}else{
//here change button image and set
[sender setSelected:YES];
}
请记住,当您创建按钮时,不要忘记将setSelected设置为NO。
答案 7 :(得分:0)
iPhone应用程序中没有任何RadioButton控件。
虽然您可以查看以下链接以获取RadioButton。
这里我们放置了两个图像来代替RadioButtons。
http://www.developers-life.com/radio-buttons-in-iphone-application.html
享受编码........
答案 8 :(得分:0)
我做了类似的事情并且有效:
- (IBAction)tickbuttonClicked:(id)sender
{
UIButton *selectedButton = sender;
UIImage *ticked = [UIImage imageNamed:@"tickbox_yes3.png"];
UIImage *unticked = [UIImage imageNamed:@"tickbox_no3.png"];
//untick active box
if((activetag>-1)&&(activetag!=[sender tag])){
UIButton *thisButton = (UIButton *)[self.view viewWithTag:activetag];
thisButton.backgroundColor = [UIColor colorWithPatternImage:unticked];
}
//tick sender
if ([sender tag]!=activetag)
{
selectedButton.backgroundColor = [UIColor colorWithPatternImage:ticked];
activetag=[sender tag];
[selectedButton setSelected:YES];
}
}
答案 9 :(得分:0)
看到这个链接对你真的很有用。 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Button/Concepts/RadioButtons.html
答案 10 :(得分:0)
//定义按钮的属性
声明Unchaked Image
- (void)viewDidLoad
{
[ButtonChaked setBackgroundImage:[UIImage imageNamed:@"UnChacked.png"] forState:UIControlStateNormal];
}
Chaked Image 。
- (IBAction)ButtonChaked:(id)sender
{
if (ButtonChaked.selected ==YES)
{
[ButtonChaked setBackgroundImage:[UIImage imageNamed:@"UnChacked.png"] forState:UIControlStateSelected];
ButtonChaked.selected =NO;
}
else
{
[ButtonChaked setBackgroundImage:[UIImage imageNamed:@"Chaked.png"] forState:UIControlStateNormal];
ButtonChaked.selected = YES;
}
}
真的用过了
答案 11 :(得分:0)
我刚刚向Cocoapods pod "DLRadioButton"
发布了一个iOS单选按钮控件,有关文档和示例,请转到GitHub。附件是此控件的屏幕截图。