2012-12-10 68 views
0

我有一個tableview與5行,當我選擇一行它打開UIPickerView在下一頁選擇選項,同樣的事情發生在5行。現在我想,Pickervalue,它應該反映在特定的行(右側)無論我選擇哪一個UITableView行選擇與UIPicker選項

和我有一個按鈕在同一頁上執行所選行的值(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並選擇選項。

IN 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"]; 


} 
+0

-1;這裏有個問題嗎?如果是這樣,你的問題應該更容易找到人。 –

+0

我希望當我選擇行時,它將打開UIPickerView,並且PickerView選擇value.how以反映該行中選定的PickerView值。 – Christien

回答

1
  1. 您需要修改的tableView的數據源。您可以使用一系列字典(使用左鍵標題& rightTitle)。
  2. 您需要在Picker1中實現協議& Picker2使用委託方法valueSelected:
  3. 使用tableView在您的控制器中實現委託。
  4. 您需要保存所選行的全局索引。在推送撿拾器時將代表設置爲自己。
  5. 當您點擊選取器控制器中的按鈕調用valueSelected:委託&在選取器中選擇了傳遞值。
  6. 在您的控制器中使用tableView實現協議方法,獲取值並保存在數據源中(作爲具有選定索引的字典中的鍵「rightTitle」的值)。
  7. 重新載入表格。
+0

thanks.is有可用的示例代碼,以便它對我更有幫助。 – Christien

+0

現在我沒有任何示例代碼。但我以同樣的方式實施。告訴我,如果你不明白任何一步。 –

+0

你能告訴我如何存儲在字典(與鍵leftTitle&rightTitle)。 – Christien