美文网首页
iOS之UIStackView(xib升级版)

iOS之UIStackView(xib升级版)

作者: 思念那年慕云 | 来源:发表于2016-09-02 11:17 被阅读114次
第一步
第二步
#(1)内部控件也可以选中,然后再包裹一个UIStackView进行布局。
#(2)个人感觉,简单的布局,比较有规律的选UIStackView,反之,还是自己设置布局简单点。

接下来当然是自适应高度了

这里使用ios6之后出的systemLayoutSizeFittingSize,
只需要在原来正常使用tableView的基础上,加上下面的内容就OK了。

//在cell的.m文件中设置要自适应的label的宽度
- (void)awakeFromNib {
    [super awakeFromNib];
    //注意:这里一定要写上需要自适应高度的label的最大宽。
    //注意:这里的右侧要写屏幕的宽度,不要写当前cell的宽度,因为它默认是根据xib中cell拖的大小来算的。
    self.contentLabel.preferredMaxLayoutWidth = [UIScreen mainScreen].bounds.size.width;
    self.timeLabel.preferredMaxLayoutWidth = [UIScreen mainScreen].bounds.size.width;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ThirdTableViewCell *cell = (ThirdTableViewCell *)[self tableView:self.tableView cellForRowAtIndexPath:indexPath];
/**
 *下面三种方法获取cell来计算高度是不准确的,以后采取上面的方式来获取cell
 
 //1
 ThirdTableViewCell *cell = [[[NSBundle mainBundle] loadNibNamed:@"ThirdTableViewCell" owner:self options:nil] lastObject];
 
 //2
 ThirdTableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
 
 //3
 ThirdTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ThirdTableViewCellID];
 if (!cell) {
 cell = [[[NSBundle mainBundle] loadNibNamed:@"ThirdTableViewCell" owner:self options:nil] lastObject];
 }
 */

//立即更新约束,暂时没有发现作用
//    [cell setNeedsUpdateConstraints];
//    [cell updateConstraintsIfNeeded];
    
    CGSize cellSize = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
    NSLog(@"cellSizeH----%f",cellSize.height);
    return cellSize.height+1;  //计算的高度误差为1

}

相关文章

  • iOS之UIStackView(xib升级版)

    接下来当然是自适应高度了 这里使用ios6之后出的systemLayoutSizeFittingSize,只需要在...

  • iOS9之UIStackView

    iOS9之UIStackView 苹果在iOS9新增了一个简易的布局控件UIStackView,它是一个基于 Au...

  • iOS 常用布局方式之StackView

    级别: ★☆☆☆☆标签:「iOS UIStackView」「iOS 自动布局」「StackView」作者: Xs...

  • UIStackView的妙用

    UIStackView简介 UIStackView是iOS 9+支持的布局控件,主要用于线性布局,可以简化布局,减...

  • iOS9新特性UIStackView

    概述 UIStackView是iOS9中新增的API,类似于Android中的线性布局。UIStackView提供...

  • UIStackView简单理解和使用

    一、UIStackView简介 UIStackView是iOS9中新增的API,类似于Android中的线性布局。...

  • iOS UIStackView

    简介 UIStackView是iOS 9 的新增控件,唯一的作用就是帮助布局 本文会详细介绍UIStackView...

  • UIStackView基础用法介绍

    介绍 UIStackView 是 iOS9新增的一个布局技术。熟练掌握相当节省布局时间。UIStackView 是...

  • UIStackView 看我就够了

    介绍 UIStackView 是 iOS9新增的一个布局技术。熟练掌握相当节省布局时间。UIStackView 是...

  • IOS Auto Layout 二 -UIStackView

    参考文献:iOS9之UIStackView体验,无需任何约束,这才是真正的自动布局,快到不能呼吸An Introd...

网友评论

      本文标题:iOS之UIStackView(xib升级版)

      本文链接:https://www.haomeiwen.com/subject/cubhettx.html