日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS tableViewCell自适应高度 第三发类库

發布時間:2025/7/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS tableViewCell自适应高度 第三发类库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

轉自:http://www.cnblogs.com/qianLL/p/5393331.html

?

?在github中有許多大牛封裝好的第三發類庫,其中有個自適應cell高度的類庫

下載地址:https://github.com/gsdios/SDAutoLayout

model類

commentsModel

#import "JSONModel.h" #import "getCommentData.h"@interface commentsModel : JSONModel @property(nonatomic,copy)NSArray<getCommentData> *commentList; @end #import "commentsModel.h"@implementation commentsModel@end

getCommentData

#import "JSONModel.h"@protocol getCommentData@end@interface getCommentData : JSONModel@property(nonatomic,copy)NSString *message; @property(nonatomic,copy)NSString *nickName; @property(nonatomic,copy)NSString *createTimeStr; @end #import "getCommentData.h"@implementation getCommentData@end

?控制器

#import "commentsTableViewController.h" #import "commentsModel.h" #import "commentCell.h" @interface commentsTableViewController () @property(nonatomic,strong)NSArray *commentsArray; @end@implementation commentsTableViewController-(NSArray *)commentsArray{if (_commentsArray==nil) {NSData *data=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"comment_list.json" ofType:nil]];commentsModel *commensM=[[commentsModel alloc]initWithData:data error:nil];_commentsArray=commensM.commentList;}return _commentsArray; }- (void)viewDidLoad {[super viewDidLoad];}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }#pragma mark - Table view data source- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {return 1; }- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {return self.commentsArray.count; }- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *ID=@"comment";commentCell *cell=[tableView dequeueReusableCellWithIdentifier:ID];if (cell==nil) {cell=[[commentCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];}cell.commentData=self.commentsArray[indexPath.row];return cell; }-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{return [self cellHeightForIndexPath:indexPath cellContentViewWidth:[self cellContentViewWith]]; }-(CGFloat)cellContentViewWith{CGFloat width=[UIScreen mainScreen].bounds.size.width;if ([UIApplication sharedApplication].statusBarOrientation != UIInterfaceOrientationPortrait && [[UIDevice currentDevice].systemVersion floatValue] < 8) {width = [UIScreen mainScreen].bounds.size.height;}return width; } @end

?

?

?

?

?

具體自定義cell的代碼

#import <UIKit/UIKit.h> @class getCommentData; @interface commentCell : UITableViewCell @property(nonatomic,strong)getCommentData *commentData; @property(nonatomic,strong)UILabel *nameLabel; @property(nonatomic,strong)UILabel *titleLabel; @property(nonatomic,strong)UILabel *dateLabel; @end #import "commentCell.h" #import "commentsModel.h" @implementation commentCell-(void)setCommentData:(getCommentData *)commentData{_commentData=commentData;_titleLabel.text=commentData.message;_dateLabel.text=commentData.createTimeStr;_nameLabel.text=commentData.nickName;}- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];if (self) {[self setup];}return self; }-(void)setup{_nameLabel=[UILabel new];[self.contentView addSubview:_nameLabel];_nameLabel.textColor=[UIColor colorWithRed:0.891 green:0.549 blue:0.073 alpha:1.000];_nameLabel.font=[UIFont systemFontOfSize:15];_nameLabel.numberOfLines=1;_titleLabel=[UILabel new];[self.contentView addSubview:_titleLabel];_titleLabel.textColor=[UIColor darkGrayColor];_titleLabel.font=[UIFont systemFontOfSize:15];_titleLabel.numberOfLines=0;_dateLabel=[UILabel new];[self.contentView addSubview:_dateLabel];_dateLabel.textColor=[UIColor colorWithRed:0.679 green:0.166 blue:0.828 alpha:1.000];_dateLabel.font=[UIFont systemFontOfSize:15];_dateLabel.numberOfLines=1;CGFloat margin=10;UIView *contentView=self.contentView;_nameLabel.sd_layout.leftSpaceToView(contentView,margin).topSpaceToView(contentView,margin).rightSpaceToView(contentView,margin).heightIs(20);_titleLabel.sd_layout.leftSpaceToView(contentView,margin).topSpaceToView(_nameLabel,2).rightSpaceToView(contentView,margin).autoHeightRatio(0);_dateLabel.sd_layout.leftSpaceToView(contentView,margin).topSpaceToView(_titleLabel,5).heightIs(20).widthIs(150);[self setupAutoHeightWithBottomViewsArray:@[_titleLabel,_dateLabel,_nameLabel] bottomMargin:margin]; }- (void)awakeFromNib { }- (void)setSelected:(BOOL)selected animated:(BOOL)animated {[super setSelected:selected animated:animated];}@end

轉載于:https://www.cnblogs.com/wujie123/p/5397210.html

總結

以上是生活随笔為你收集整理的iOS tableViewCell自适应高度 第三发类库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。