无法更新我的视图的子视图

Posted

技术标签:

【中文标题】无法更新我的视图的子视图【英文标题】:Unable to update my view's subview 【发布时间】:2015-08-14 17:53:38 【问题描述】:

我正在使用具有滚动视图的容器视图,我正在将几个其他视图控制器的视图作为子视图添加到滚动视图。下面是作为子视图添加到滚动视图的代码。

for (int i = 0; i < tags.count; i++) 
        CGRect frame;
        frame.origin.x = scrollView.frame.size.width * i;
        frame.origin.y = 0;
        RMKeyDetailViewController *det = [self.storyboard instantiateViewControllerWithIdentifier:@"RMKeyDetailViewController"];
        [self addChildViewController:det];
        frame.size = det.view.bounds.size;
        det.view.frame = frame;
        det.myTag = [tags objectAtIndex:i];
        [scrollView addSubview:det.view];
        [det didMoveToParentViewController:self];
    

    pageControl.numberOfPages=tags.count;

    CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;

    CGFloat navbarheight = self.navigationController.navigationBar.frame.size.height;
    CGFloat totHeight = statusBarHeight+navbarheight;

    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * tags.count, scrollView.frame.size.height-totHeight);

现在,在 RMKeyDetailViewController 中,我使用 UIImagePickerController 来选择图像并更新 RMKeyDetailViewController 中的图像视图,如下所示,但选择的图像没有显示。

谁能建议我更好的方法来处理这种情况?

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

    UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];

    firstThumbImageView.image=image;

【问题讨论】:

为什么要添加UIViewController 而不仅仅是子视图? 很容易处理每个屏幕实例的网络服务。所以,我想用 UIViewController 来单独管理每个视图。 你最终是如何解决这个问题的? 【参考方案1】:

当您将图像加载到名为 ivUIImageView 中时,您必须将 iv 添加到您的视图层次结构中。

【讨论】:

"firstThumbImageView" 已经在视图层次结构中,给定的图像现在在其位置可见。 当我直接调用 RMKeyDetailViewController(不作为子视图添加到滚动视图中)时,一切正常。只有将 RMKeyDetailViewController 的视图添加为我的容器滚动视图的子视图时才会出现问题

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

在缩放时,使用UIWebView scrollView更新UITableViewCell中的约束无法正常工作

无法在第二个视图控制器中更新我的 UIImage

ko 视图模型在 js 上更新但未在 html 视图中显示

如何切换数组中对象的属性并更新 SwiftUI 视图?

模型更新时无法让 Angularjs 更新视图

无法更新/修改 SwiftUI 视图的 @state var