菜鸟成长记-SDAutoLayout详解

        之前的布局一直使用Autolayout进行适配,用着用着就习惯了,但是对有些需求使用还是达不到很到的效果,然后就在网上学习了一些关于布局的三方库Masonry、SDAutoLayout。个人觉得SDAutoLayout用起来更加方便,当然两者的效率方面快慢就没有研究过,但是感觉没多大区别。

        这里我只是将一些方法做详细说明,它传递值的方式是通过Block块传输的。

     比如如下代码:

     菜鸟成长记-SDAutoLayout详解_第1张图片

     

    

  leftSpaceToView  到参照View左边的距离是margin


  topSpaceToView   到参照View顶部的距离是margin


  leftEqualToView  表示view的某一属性等于参照view的对应的属性值


  widthIs          表示view的宽等于参数数值


  heightIs         表示view的高等于参数数值

    centerYEqualToView    centerY与参照view相同,参数为“(View)”


  centerXEqualToView    centerX与参照view相同,参数为“(View)”


  autoHeightRatio      自适应高度,传入高宽比值,label可以传0实现文字高度自适应

  spaceToSuperView     传入UIEdgeInsetsMake(top, left, bottom, right),可以快捷设置view到其父view上左下右的间距


  setupAutoHeightWithBottomView 

    设置Cell的高度自适应,也可用于设置普通view内容高度自适应

  
    当然在此以前你得把需要自动布局的控件添加到父View中。

  如果是TableView则需要获取自动计算出的cell高度

 

  - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        id model = self.modelsArray[indexPath.row];
        // 获取cell高度
        return [self.tableView cellHeightForIndexPath:indexPath model:model keyPath:@       "model" cellClass:[DemoVC9Cell class]  contentViewWidth:cellContentViewWith];
    }



       

      

你可能感兴趣的:(iOS-进击之路)