我有一个简单的主/细节tableview。为了让我在master中选择到详细视图,我使用以下代码在详细视图中设置标签(lTest)。
但是,似乎此代码在不同视图之前/之后运行,因为它不会返回错误,但lTest的值不会更改(在segue之后屏幕上不可见)。
(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
ViewController *Targetview = segue.destinationViewController;
Targetview.lTest.text=[NSString stringWithFormat:@"Row %d",indexPath.item];
}
}
如何在其他视图中更改标签?
答案 0 :(得分:1)
在执行viewDidLoad:
之前,您的新控制器不应设置任何视图。为其提供一个字符串属性,以便在lTest
期间保存您希望prepareForSegue:
拥有并存储到该文本的文本,然后在ViewController
内更新标签的文本。