如何使用Objective C在UItableView中增加UIView高度?

时间:2017-12-22 12:20:19

标签: ios objective-c iphone uitableview uiview

我是iOS编程的新手,我实施了UITableviewController。我将UIView放在UITableView内。我在UIView内设计了标签,文本字段和tableview。这里我的问题是,当我根据数组计数增加动态tableview时,我也希望增加UIView高度。我不知道怎么做?以下是我的设计结构,

UITableViewController---          
       UIView-----               (1)
           Label---Label         (2)
           label---Label         (3)
           label---              (4)
           UItableview           (5)
           textfield             (6)
           textfield             (7)
and so on

下面我已成功增加(5)身高,我想增加(1)身高我不知道该怎么办?任何人都可以建议解决这个问题?我在下面的代码中尝试了这个。

-(void)viewDidLayoutSubviews{


    CGFloat numberofrows=creditList.count;
    height = numberofrows*propertytable.rowHeight;
    _tableviewheight.constant = height;

    propertytable.frame =CGRectMake(propertytable.frame.origin.x,propertytable.frame.origin.y, propertytable.frame.size.width,_tableviewheight.constant);
    CGRect myviewframe=mainview.frame;
    NSLog(@"The myviewframe value is %f",myviewframe.size.height);


    mainview.translatesAutoresizingMaskIntoConstraints=YES;
    myviewframe.size.height=5000;

    mainview.frame=myviewframe;
    mainview.frame = CGRectMake(0,0,mainview.frame.size.width, 5000);
    mainview.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    mainview.contentMode = UIViewContentModeScaleAspectFit;
[mainview layoutIfNeeded];

      }

1 个答案:

答案 0 :(得分:1)

如果对象有自动布局,请尝试:

- (void)viewDidLoad {
    self.tableView.rowHeight = UITableViewAutomaticDimension;
    self.tableView.estimatedRowHeight = 105; //Default Height
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewAutomaticDimension;
}