容器视图中的 UI 未更新

Posted

技术标签:

【中文标题】容器视图中的 UI 未更新【英文标题】:UI in Container View is not updating 【发布时间】:2016-10-10 16:07:00 【问题描述】:

我有一个带有按钮的视图,当用户按下按钮时,会显示一个容器视图。我用:

ContainerView.setNeedsDisplay()

更新容器视图。我这样做是因为我有诸如标签之类的 UI,并且我希望文本基于单击的按钮。

问题在于,在更新视图和更新文本时,标签文本不会改变。

【问题讨论】:

在这里看我的答案:***.com/a/37748737/3108877 【参考方案1】:

感谢 Rroobb 的评论,这很有效! - ***.com/a/37748737/3108877

【讨论】:

【参考方案2】:

我写了一个助手来做这个,源代码可以帮助你:

+ (void)navigateFromController:(UIViewController *)fromController toController:(UIViewController *)toController 
    if (fromController) 
        // Remove any existing child controllers.
        for (UIViewController *child in [toController childViewControllers]) 
            [child willMoveToParentViewController:nil];
            [child.view removeFromSuperview];
            [child removeFromParentViewController];
        

        // Embed the new controller.
        [fromController addChildViewController:toController];

        toController.view.frame = fromController.view.bounds;
        toController.view.translatesAutoresizingMaskIntoConstraints = false;
        [fromController.view addSubview:toController.view];

        [toController.view.leftAnchor constraintEqualToAnchor:fromController.view.leftAnchor].active = YES;
        [toController.view.rightAnchor constraintEqualToAnchor:fromController.view.rightAnchor].active = YES;
        [toController.view.topAnchor constraintEqualToAnchor:fromController.view.topAnchor].active = YES;
        [toController.view.bottomAnchor constraintEqualToAnchor:fromController.view.bottomAnchor].active = YES;

        [fromController didMoveToParentViewController:fromController];
    

【讨论】:

以上是关于容器视图中的 UI 未更新的主要内容,如果未能解决你的问题,请参考以下文章

element ui中的prompt怎么弄多个

Xamarin 表单集合视图 ItemsSource 绑定未更新 UI

Swift 中的 Xcode:导航栏未显示在 UI 集合视图(模拟器)中

Swift UI:使用数组中的随机元素更新视图

静态 uitableview 中的 uitextfield 不会在容器视图中更新

UIPageView 容器中的大小类变化为未指定