如何根据嵌入式视图控制器调整容器视图的大小?

时间:2015-11-24 06:20:40

标签: ios objective-c uitableview uicontainerview

我想调整superview的子视图大小。

场景是我内部有一个滚动视图,其中有一个包含不同子视图的视图。在子视图中,有一个带嵌入式视图控制器的ContainerView。哪个有表格视图。我想在单元格增加时增加表格视图的大小,同时增加视图容器的高度 - 视图和滚动视图,因为表格不会滚动。

我能够在链接后增加表格视图的大小 enter link description here

但我被困住了如何增加嵌入视图的大小。 enter image description here

详细说明我正在练习我正在练习的项目中的图像。

enter image description here

  • 紫色是主视图控制器的颜色。
  • 绿色是滚动视图。
  • 灰色是在滚动视图中查看。
  • 蓝色是嵌入视图的颜色 控制器。
  • 红色是表格视图的颜色。但是在模拟器上看不到,因为它根据细胞数量进行了调整。

    -(CGSize)sizeForChildContentContainer:(id<UIContentContainer>)container
               withParentContainerSize:(CGSize)parentSize
    {
    
         //    int height = _containerView.frame.size.height;
         NSLog(@"height of container");
         return _tableView.frame.size;
    }
    
    -(void)adjustHeightOfTableview
    
    {
    
         CGFloat height =  self.tableView.contentSize.height;
         CGFloat maxHeight = self.tableView.superview.frame.size.height -  self.tableView.frame.origin.y;
    
    
         // if the height of the content is greater than the maxHeight of
         // total space on the screen, limit the height to the size of the
         // superview.
    
        if (height > maxHeight)
            height = maxHeight;
    
        // now set the height constraint accordingly
    
        [UIView animateWithDuration:0.25 animations:^{
           self.tableViewHeightConstraint.constant = height;
           [self.view setNeedsUpdateConstraints];
    
        }];
    
        [_tableView setNeedsLayout];
        [_tableView layoutIfNeeded];
    }
    

以同样的方式或类似的东西,我需要调整视图的大小。 我搜索了类似的东西,但我没有得到明确的答案,任何形式的帮助都将受到赞赏。

0 个答案:

没有答案