我在UITableView中有幾個UITextField。我爲這些字段分配了不同的標籤,但是我面臨的問題是從其他幾個函數訪問這些UITextField。如何在多個函數中通過標記訪問UITableView中的UITextField
如何訪問它們? 這裏是我的代碼: -
UITextField * textField =(UITextField *)[self.view viewWithTag:0];
任何人都可以幫忙嗎?
我在UITableView中有幾個UITextField。我爲這些字段分配了不同的標籤,但是我面臨的問題是從其他幾個函數訪問這些UITextField。如何在多個函數中通過標記訪問UITableView中的UITextField
如何訪問它們? 這裏是我的代碼: -
UITextField * textField =(UITextField *)[self.view viewWithTag:0];
任何人都可以幫忙嗎?
我在我的一個應用程序中有相同的功能,我使用下面的代碼來實現這一點,我從來沒有遇到過這種問題。
首先,您需要將所有textField值臨時存儲在Array中。像這樣做數組。
arrTemp=[[NSMutableArray alloc]initWithObjects:[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],nil];
Then Give all textField tag = indexPath.row;
之後您需要在以下兩種方法中替換textField值。
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[arrTemp replaceObjectAtIndex:textField.tag withObject:textField.text];
}
-(void)textFieldDidEndEditing:(UITextField *)textField{
[arrTemp replaceObjectAtIndex:textField.tag withObject:textField.text];
}
最後您需要在cellForRowAtIndexPath datasource方法中設置該值。因此,無論何時滾動tableview,它都會從temp數組中設置以前的值。喜歡這個。
cell.txtEntry.text = [arrTemp objectAtIndex:indexPath.row];
您不應該使用0作爲視圖標記。 0將是沒有設置顯式標籤值的任何視圖的值,所以這不會拉出您期望的視圖。
我建議你從100開始你自己的標籤,雖然這只是一個任意的圓數。
但0肯定不會按預期工作!
什麼問題?這個問題需要更多的信息來確定你正在試圖完成什麼。 – zaph
你的代碼看起來正確。你怎麼了 ?你的標籤只使用整數嗎? – teriiehina