触摸UITableView单元格时更改UITextView

时间:2012-12-14 12:36:47

标签: ios xcode uitableview uitextview

这似乎是一个简单的问题,但我找不到答案。

我只想在用户触摸uitableview中的单元格时更改uitextview中的文本。

uitextview将更改为什么取决于他们在表格中单击的单元格。

这就是我想要的:

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

我已经测试过,确保myTextView在ViewDidLoad中初始化时工作正常,文本很好。

另外作为一个背景故事...有一个表格,里面有一个名为myArray的数组...当你触摸其中一个单元格时,它会转到另一个屏幕,只有一个UITextView,然后从另一个数组中读取myArray2,其中包含从您单击数组中相应行的行号。

当我完成所有这些时,文本不会改变。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

是myTextView a(IBOutlet)属性?如果是这样,它实际上是否与Inerface Builder中的实际IB对象相关联?听起来有些事情是错误的,因为如果你输入一个简单的行来改变代码它也不会改变(如评论中所示)

答案 1 :(得分:0)

我的猜测是你已正确连接了你的代表。如果您尚未连接您的代理,则不会调用didSelectRowAtIndexPath方法。

答案 2 :(得分:0)

根据你在问题中所写的内容,我认为textview是在另一个控制器中,所以首先,你不能直接从另一个控制器更新某个控制器的UI。你必须在包含textview的视图控制器中创建一个int类型属性,将该int设置为indexPath.row。并将该int用作myData2数组的objectAtIndex。如果你的textView真的在另一个视图控制器中,你就可以做一些工作了