首页 > 代码库 > autolayout 高度自适应
autolayout 高度自适应
https://lvwenhan.com/ios/449.html
#import "ViewController.h"#import "MyTableViewCell.h"static NSString *cellIdentifier = @"mycell";@interface ViewController () <UITableViewDelegate, UITableViewDataSource>@property (strong, nonatomic) NSArray *listArr;@property (strong, nonatomic) MyTableViewCell *cell;@end@implementation ViewController@synthesize listArr;- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self.tableView registerNib:[UINib nibWithNibName:@"MyTableViewCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:cellIdentifier]; self.tableView.estimatedRowHeight = 44;//很重要保障滑动流畅性 self.cell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier]; self.listArr = @[@"Do any additional setup after loading the view, typically from a nib.", @"test", @"UITableViewCell 高度自适应一直是我们做动态Cell高度时遇到的最烦躁的问题,Cell动态高度计算可以去看看 sunny 的这篇文章介绍,今天主要和大家分享下我在使用 systemLayoutSizeFittingSize 系统自带方法计算高度的一些心得!"];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1;}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return listArr.count;}- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath { MyTableViewCell *cell = self.cell; cell.myLabel.text = listArr[indexPath.row]; cell.contentView.translatesAutoresizingMaskIntoConstraints = NO; CGFloat fittingHeight = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height; return fittingHeight;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { self.cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (self.cell == nil) { UINib *nib = [UINib nibWithNibName:@"MyTableViewCell" bundle:nil]; [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier]; self.cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; } self.cell.myLabel.backgroundColor = [UIColor blueColor]; self.cell.myLabel.textColor = [UIColor whiteColor]; self.cell.myLabel.text = [listArr objectAtIndex:indexPath.row]; return self.cell;}@end
autolayout 高度自适应
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。