簡體   English   中英

帶有UIPicker選項的UITableView行選擇

[英]UITableView Rows selection with UIPicker Option

我有一個包含5行的tableview ,當我選擇一行時,它會在下一頁打開一個UIPickerView來選擇選項,同樣的事情發生在5行上。 )無論我選擇了哪個

我在同一頁面上有一個按鈕來對選定的行值(UIPicker值)執行。如何在Button.to中給出選項以選擇從UIPicker獲取的行數

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    if(indexPath.row==0){

        Picker1 *logInController = [[Picker1 alloc] init];

    [[self navigationController] pushViewController:logInController animated:YES];
    }

    if(indexPath.row==1){

        Picker2 *logInController = [[Picker2 alloc] init];

        [[self navigationController] pushViewController:logInController animated:YES];
    }
}

像上面一樣,我已經打開了UIPIcker並選擇了選項。

在PICKER1.m

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

    // update label text to show selected option

    NSString* string=[NSString stringWithFormat:@"you are selected %@",[list objectAtIndex:row]];

    label.text=string;

}



- (void)viewDidLoad

{      
    [super viewDidLoad];

    list =[[NSMutableArray alloc]init];
    [list addObject:@"GPS"];
    [list addObject:@"NONE"];


}
  1. 您需要修改tableView的數據源。 您可以使用字典數組(具有leftTitle和rightTitle鍵)。
  2. 您需要使用委托方法valueSelected在Picker1&Picker2中實現協議:
  3. 使用tableView在您的控制器中實現委托。
  4. 您需要保存所選行的全局索引。 在推動選擇器時將委托設置為自我。
  5. 當您在選擇器控制器中點擊按鈕時,調用值已選定:在選擇器中選擇的委托和傳遞值。
  6. 在已實現協議方法的帶有tableView的控制器中,獲取值並保存在數據源中(作為具有選定索引的字典中鍵“ rightTitle”的值)。
  7. 重新加載表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM