容器视图中的 UI 未更新
UI in Container View is not updating
我有一个带有按钮的视图,当用户按下按钮时,会显示一个容器视图。我使用:
ContainerView.setNeedsDisplay()
更新容器视图。我这样做是因为我有 UI 标签,我希望文本基于单击的按钮。
问题是在更新视图和更新文本时,标签文本没有改变。
我写了一个 Helper 来做这个,来源可能对你有帮助:
+ (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];
}
}
感谢 Rroobb 的评论,有用! -计算器。com/a/37748737/3108877
我有一个带有按钮的视图,当用户按下按钮时,会显示一个容器视图。我使用:
ContainerView.setNeedsDisplay()
更新容器视图。我这样做是因为我有 UI 标签,我希望文本基于单击的按钮。
问题是在更新视图和更新文本时,标签文本没有改变。
我写了一个 Helper 来做这个,来源可能对你有帮助:
+ (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];
}
}
感谢 Rroobb 的评论,有用! -计算器。com/a/37748737/3108877