對於iPhone,我還沒有找到像單選按鈕觸發組中的其他按鈕的任何東西。那麼每個人都會建議使用什麼? UISwitch我猜,當選擇其他選項時,會做一些事情來觸發組中的其他人?iphone什麼使用,因爲沒有「單選按鈕」
如果我有幾個UISwitch對象,我會如何觸發其他人與我切換的相反?
對於iPhone,我還沒有找到像單選按鈕觸發組中的其他按鈕的任何東西。那麼每個人都會建議使用什麼? UISwitch我猜,當選擇其他選項時,會做一些事情來觸發組中的其他人?iphone什麼使用,因爲沒有「單選按鈕」
如果我有幾個UISwitch對象,我會如何觸發其他人與我切換的相反?
我還使用了一個自定義的UISegmentedControl。事情是這樣的:
NSMutableArray* buttons;
- (void)touchDownAction:(UIButton*)button {
[self dimAllButtonsExcept:button];
if ([delegate respondsToSelector:@selector(touchDownAtSegmentIndex:)])
[delegate touchDownAtSegmentIndex:[buttons indexOfObject:button]];
}
-(void) dimAllButtonsExcept:(UIButton*)selectedButton {
for (UIButton* button in buttons) {
if (button == selectedButton) {
button.selected = YES;
button.highlighted = YES;
} else {
button.selected = NO;
button.highlighted = NO;
}
}
}
完整的代碼是在https://github.com/j4n0/jobsket/tree/master/sources/main/ui/custom/segControl
我不知道一個人是否知道一切編程語言和開發環境?!就在這個時候,我想我發現一切都會重新出現......謝謝! – 2011-05-22 22:32:47
我已經使用UISegmentedControl作爲單選按鈕。
我使用的按鈕與像單選按鈕圖像。即關閉圖像和開啓圖像。這種方法的好處是實現起來非常簡單,您可以使用圖像來控制按鈕控件的狀態。它作爲一個簡單的切換,並不需要花哨的按鈕狀態。在按鈕打開或關閉時,您可以輕鬆地將代碼添加到執行某些操作的方法中,在示例中,我只是調用正在編寫某些用戶默認設置的方法。
它應該很容易適應創建單選按鈕功能。
-(IBAction)tickboxControl:(id)sender{
NSLog(@"%s",__FUNCTION__);
bgImageOn = [UIImage imageNamed:@"tickedBox.png"];
bgImageOff = [UIImage imageNamed:@"tickBoxEmpty.png"];
UIButton *buttonClicked = (UIButton *)sender;
UIImage *imageOfClicked = [buttonClicked imageForState:UIControlStateNormal];
if (imageOfClicked == bgImageOff) {
[self setButtonFlags: [NSNumber numberWithInt:[sender tag]] : [NSNumber numberWithInt:1] ];
[buttonClicked setImage:bgImageOn forState:UIControlStateNormal];
} else{
[self setButtonFlags: [NSNumber numberWithInt:[sender tag]] : [NSNumber numberWithInt:0] ];
[buttonClicked setImage:bgImageOff forState:UIControlStateNormal];
}
}
對不起,我仍然試圖把握這一切。雖然我可以看到這是如何工作的,但我真的不知道如何將其插入到我的代碼中。我可以在IB使用這個嗎?不知道爲什麼iPhone SDK沒有單選按鈕?! – 2011-05-22 23:07:52
我創建了一個項目,顯示如何實現你要做的事情。 您可以將複選框中的圖形(我發現在設備上可以更好地查看和理解)更改爲單選按鈕。
閱讀調試日誌以瞭解邏輯。
如果您有任何問題,請給我留言。
Radio Buttons Example Project (XCode4)
[這是在回答下面您的意見]
試試這個在iOS的一個單選按鈕:在.m文件
@interface RadioButtonViewController : UIViewController
{
//for radio button
IBOutlet UIButton *radioButton1;
IBOutlet UIButton *radioButton2;
IBOutlet UITextField *selectedValue;
IBOutlet UILabel *label1;
IBOutlet UILabel *label2;
}
@property (nonatomic,retain) IBOutlet UIButton *radioButton1;
@property (nonatomic,retain) IBOutlet UIButton *radioButton2;
@property (nonatomic,retain) IBOutlet UITextField *selectedValue;
-(IBAction)userChangedButtonClicked:(id)sender
@end
編寫代碼,並指定默認值,在故事板檢查器窗口中選擇圖像,併爲每個按鈕賦予標籤值。
RadioButtonViewController.m
-(IBAction)userChangedButtonClicked:(id)sender
{
UIButton *senderBtn = (UIButton*)sender;
if (senderBtn.tag == 101 && !self.radioButton1.selected)
{
self.radioButton1.selected = TRUE;
self.radioButton2.selected = FALSE;
selectedValue.text = label1.text;
}else if (senderBtn.tag == 102 && !self.radioButton2.selected)
{
self.radioButton1.selected = FALSE;
self.radioButton2.selected = TRUE;
selectedValue.text = label2.text;
}
}
應用等的設置應用使用一個表視圖來表示單選按鈕組。我製作了一個自定義表格視圖控制器,它模仿了Settings應用程序的功能(包括取消選擇其他單元格的邏輯),但還沒有開始釋放它的源代碼... – BoltClock 2011-05-22 21:52:27