탭 컨트롤러 내부에보기 컨트롤러가 있습니다. 필자가 초기화 된 뷰의 "내부"에있을 때 나는 다시 탭 막대 항목을 눌러서 뷰를 다시 그리기를 원합니다.초기화 된보기 내에서 탭 항목을 누르면 다시 불러 오기
내 tabbarcontroller은 내가 다음 다시 다른보기로 이동할 때까지 눈에 보이는 레이블을하지 않습니다하지만 contentText.text가 업데이트되는 것을 볼 수있는 로그에서 AppDelegate에
#AppDelegate.m
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NSString *titleV = viewController.title;
if (titleV == @"Random") {
DetailViewController *detailViewController = [[DetailViewController alloc] init];
[detailViewController reloadView];
}
}
#ViewController.m
-(void)reloadView{
[self.view setNeedsDisplay];
NSLog(@"view updated");
}
//code
- (void)viewDidLoad
{
[super viewDidLoad];
[self checkContent];
NSLog(@"viewDidLoad");
}
//code
-(void)checkContent{
if (theContent==NULL) {
contentText.numberOfLines=0;
contentText.text = randomContent;
NSLog(@"%@", contentText.text);
} else {
contentText.text = theContent;
}
}
에 생성됩니다. 왜 이것이 작동하지 않는 지 모르겠습니다. 이 문제를 해결하는 방법에 대한 아이디어는 매우 높이 평가됩니다.
더 많은 코드가 필요하면 알려 주시면 기꺼이 제공 할 것입니다.
건배, Dubbelsnurr 대신, 하위 클래스 내 tabBarController을 것 및 UITabBarDelegate
을 준수하고, 그 내에서 - tabBarController:didSelectViewController
를 호출 AppDelegate에에 - tabBarController:didSelectViewController
퍼팅의
이 구현 바쁜하지만 그래,이 그것을 해결했다. 고마워요! –