2012-12-14 46 views
1

這似乎是一個簡單的問題,但我無法找到答案。改變一個UITextView當一個UITableView細胞被觸摸

我只想在用戶觸摸可用視圖中的單元格時更改uitextview中的文本。

uitextview將更改爲什麼將取決於它們在表格中單擊的單元格。

這就是我努力:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    myTextView.text = [myData2 objectAtIndex:indexPath.row]; 
} 

我已經測試了,以確保myTextView由viewDidLoad中初始化它的工作很好,文雲精細。

也作爲背景...有一個表格,其中包含一個名爲myArray的數據...當您觸摸其中一個單元格時,它將轉到另一個屏幕,並且只有一個UITextView,然後它將從另一個屏幕讀取將數組myArray2與您單擊的行號對應到數組中的對應行。

當我這樣做的時候,文字不會改變。

任何想法?

+0

什麼myData2?它包含什麼? –

+0

當您執行myTextView.text = @「foo」時文本會發生變化; – ses3ion

+0

myData的和myData2僅僅是字符串 – user1902893

回答

0

是myTextView一(IBOutlet中)財產?如果是這樣,它是否真正鏈接到Inerface Builder中的實際IB對象作爲出口?這聽起來有點不對,因爲它也不會改變,如果你把一條簡單的線改變代碼(如評論中所見)

+0

是的,我這樣宣佈:@property(nonatomic,retain)IBOutlet UITextView * myTextView; – user1902893

+0

和故事板中的UITextView的出口是視圖控制器。 – user1902893

+0

並且是連接的插座? – ses3ion

0

我的猜測是你已經正確連接了你的委託。如果你還沒有連接你的代理,那麼didSelectRowAtIndexPath方法將不會被調用。

+0

從評論看來,他無法從代碼中獲得TextView,這與代碼的UITableView無關。 – ophychius

0

從你寫在你的問題中,我認爲你的textview是在另一個控制器,所以首先,你不能直接從另一個控制器更新某個控制器的UI。您必須在包含textview的視圖控制器中創建一個int類型的屬性,並將該int設置爲indexPath.row。並使用該int作爲myData2數組的objectAtIndex。你AVE做一些工作,如果你的TextView是真正在另一個視圖控制器

相關問題