두 개의 viewController가 있습니다. 그 중 하나에는 UILabel과 UIButton이 있고 다른 하나에는 UITableView가 있습니다. 첫 번째보기의 UIButton을 누르면 새 ViewController가 표시되고 tableview의 행이 선택되면 tableview가 닫히고 첫 번째 viewController의 UILabel이 업데이트되어 텍스트가 tableview. 코드 :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 함수가 호출되고있는 tableview에서 문자열이 성공적으로 기능 수신되지만 UILabel의 원 나타나지 마. UILabel (selected_station)을 로그 아웃 할 때 그것은 0이 아니며 텍스트가 정확합니다. 보기에 문자열이 나타나지 않는 이유는 무엇입니까?
도움이되기를 바랍니다 두 번째보기 컨트롤러. – Kaps18
새로운 'NewViewController'인스턴스를 만들었지 만 표시하지 않는 것은 기본적으로 아무 것도하지 않는다는 것을 의미합니다. 두 번째보기 컨트롤러로 전달되는 'changeTitleWithString'메서드 또는 이와 유사한 방법에 대한 참조 인 첫 번째보기 컨트롤러에 대한 참조가 필요합니다. – trydis
이 댓글을 답으로 써야합니다 @trydis –