我有两个viewControllers其中一个包含UILabel和UIButton,另一个是UITableView。当按下第一个视图中的UIButton时,将显示新的ViewController,并且当选择tableview中的一行时,tableview将被取消,并且第一个viewController中的UILabel应该更新,以便其文本与点击的单元名称相同实现代码如下。 代码:UILabel没有添加到视图
在第一个的viewController:
- (void)changeTitleWithString:(NSString *)title
{
UILabel* selected_station = [[UILabel alloc ]initWithFrame:CGRectMake(45, 153+45, 231, 20)];
[selected_station setFont:[UIFont systemFontOfSize:16.0]];
selected_station.textAlignment = NSTextAlignmentCenter;
selected_station.text = [NSString stringWithFormat:@"%@", title];
[self.view addSubview:selected_station];
NSLog(@"%@", selected_station);
NSLog(@"%@", title);
}
在第二的viewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.currentString = [NSString stringWithFormat:@"Cell %d", indexPath.row+1];
NewViewController *viewCOntroller = [[NewViewController alloc] init];
[viewController changeTitleWithString:self.currentString];
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
}
的changeTitleWithString函数被调用,并从实现代码如下字符串中的功能被成功接收,但的UILabel赢没有出现。当我注销UILabel(selected_station)时,它不是零,其文本是正确的。为什么字符串不显示在视图上?
请您可以共享的完整代码,如何在第一页视图控制器礼物按钮点击第二视图控制器。 – Kaps18 2014-09-18 17:28:58
你正在创建一个新的'NewViewController'实例,但你没有显示它,所以它基本上意味着你什么都不做。您需要对第一个视图控制器的引用,对第二个视图控制器传递的对'changeTitleWithString'方法或类似的引用。 – trydis 2014-09-18 17:30:40
你应该写这个评论为答案@trydis – 2014-09-18 17:39:51