Add Radio Button in Tableview Got Some Problem(在 Tableview 中添加单选按钮有一些问题)
问题描述
我知道 xcode 没有单选按钮
I know xcode don't have radio Button
所以我尝试添加一个自定义按钮并使其像单选按钮一样操作
so I try to add a custom button and make it action like a radio button
这是我使用的图像
这是我设置到单元格的代码
and this is the code I set to cell
UIButton *but = [UIButton buttonWithType:UIButtonTypeCustom];
[but setImage:[UIImage imageNamed:@"radio-off.png"] forState:UIControlStateNormal];
[but setImage:[UIImage imageNamed:@"radio-on.png"] forState:UIControlStateSelected];
[but setFrame:CGRectMake(0, 0, 44, 44)];
[but addTarget:self action:@selector(radioButton:) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView= but;
而这就是我要问的问题是
and this is the problem I want to ask is
如何在 - (IBAction)radioButton:(UIButton *)button
控制两行中的两个单选按钮
To control Two Radio Button in Two Rows
如果第 1 行单选按钮被选中是 YES
If Row 1 Radio button's selected is YES
第 2 行中的 btn 将是 btn.state=NO 并且不会响应
btn in row 2 will be btn.state=NO and won't response the
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
会是这样的图片
中如何设置if条件- (IBAction)radioButton:(UIButton *)button
这张图片是假的...我只在单元格中添加了按钮...并更改了文本颜色
this pic is fake...I only add the button in the cell...and changed the text color
非常感谢所有堆栈溢出的朋友~
Great Thanks to all stack overflow friends~
推荐答案
您需要一个包含所有单选按钮的数组.请记住,表格单元格会被回收/可能不可见等,因此仅使用按钮创建一个数组,然后在 tableView:cellForIndexPath: 方法中从该数组中获取右侧按钮.
You will need an array of all the radio buttons. Remember that table cells get recycled/may not be visible, etc. so create an array just with the buttons and then grab the right button out of that array in your tableView:cellForIndexPath: method.
所以在你的 tableView:cellForIndexPath: 方法中你会做这样的事情:
So in your tableView:cellForIndexPath: method you would do something like this:
cell.accessoryView = [myButtonArray objectAtIndex:[indexPath row]];
然后,在您的 radioButton: radioButtonPressed: 方法中,您将执行以下操作:
Then, in your radioButton: radioButtonPressed: method you would do:
// Select the pressed button.
[button setSelected:YES];
// Unselect all others.
for (UIButton *other in myButtonArray) {
if (other != button) {
[other setSelected:NO];
}
}
这篇关于在 Tableview 中添加单选按钮有一些问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Tableview 中添加单选按钮有一些问题
基础教程推荐
- iOS4 创建后台定时器 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
