Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在初始化视图中按tab项时重新加载uiview_Iphone_Objective C_Xcode_Uitabbarcontroller - Fatal编程技术网

Iphone 在初始化视图中按tab项时重新加载uiview

Iphone 在初始化视图中按tab项时重新加载uiview,iphone,objective-c,xcode,uitabbarcontroller,Iphone,Objective C,Xcode,Uitabbarcontroller,我在选项卡栏控制器中有一个视图控制器。当我在初始化视图的“内部”时,我希望能够再次按下选项卡栏项并重新绘制视图 我的tabbarcontroller是在AppDelegate中创建的 #AppDelegate.m - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { NSString *titl

我在选项卡栏控制器中有一个视图控制器。当我在初始化视图的“内部”时,我希望能够再次按下选项卡栏项并重新绘制视图

我的tabbarcontroller是在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;
    }
}
从日志中,我可以看到contentText.text得到了更新,尽管直到我移动到另一个视图,然后再返回,可见标签才得到更新。我不知道这为什么不起作用。任何关于如何解决这一问题的想法都将不胜感激

如果你需要更多的代码,我很乐意提供

干杯,
我不会将
-tabBarController:didSelectViewController
放在appDelegate中,而是将我的tabBarController分为子类,并遵循
uitabbarelegate
,然后从中调用
-tabBarController:didSelectViewController

以下是实现类似概念的教程:


我们一直在忙着实现这一点,但是的,这解决了问题。非常感谢你!