国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

詳解iOS tableViewCell自適應高度 第三發類庫

2019-10-21 18:54:41
字體:
來源:轉載
供稿:網友
在github中有許多大牛封裝好的第三發類庫,其中有個自適應cell高度的類庫。接下來通過本文給大家介紹iOS tableViewCell自適應高度 第三發類庫,需要的朋友參考下
 

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

iOS,tableViewCell

下載地址: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 
 


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳原县| 芦山县| 香港| 秦皇岛市| 兴安县| 淄博市| 绥中县| 博乐市| 乾安县| 泸定县| 岫岩| 屏东县| 泾源县| 门源| 横山县| 锦屏县| 和平县| 永定县| 包头市| 潞城市| 上高县| 河间市| 邹平县| 泾川县| 兰溪市| 犍为县| 乳山市| 文山县| 宁武县| 湘乡市| 金堂县| 平果县| 南岸区| 胶州市| 临清市| 开化县| 扶风县| 郑州市| 雅江县| 元谋县| 镇坪县|