一對一直播系統原始碼,UICollectionViewCell自適應文字寬度
一對一直播系統原始碼,UICollectionViewCell自適應文字寬度實現的相關程式碼
自定義cell
#pragma mark — 自定義cell #import "SelfSizingCollectCell.h" #import "Masonry.h" #define itemHeight 60 @implementation SelfSizingCollectCell - (instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { self.contentView.backgroundColor = [UIColor redColor]; // 用約束來初始化控制元件: self.textLabel = [[UILabel alloc] init]; self.textLabel.textAlignment =NSTextAlignmentCenter; self.textLabel.backgroundColor = [UIColor greenColor]; [self.contentView addSubview:self.textLabel]; #pragma mark — 如果使用CGRectMake來佈局,是需要在preferredLayoutAttributesFittingAttributes方法中去修改textlabel的frame的 // self.textLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, 30)]; #pragma mark — 如果使用約束來佈局,則無需在preferredLayoutAttributesFittingAttributes方法中去修改cell上的子控制元件l的frame [self.textLabel mas_makeConstraints:^(MASConstraintMaker *make) { // make 代表約束: make.top.equalTo(self.contentView).with.offset(0); make.left.equalTo(self.contentView).with.offset(0); make.height.equalTo(@(itemHeight/2)); make.right.equalTo(self.contentView).with.offset(0); }]; } return self; } #pragma mark — 實現自適應文字寬度的關鍵步驟:item的layoutAttributes - (UICollectionViewLayoutAttributes *)preferredLayoutAttributesFittingAttributes:(UICollectionViewLayoutAttributes *)layoutAttributes{ UICollectionViewLayoutAttributes *attributes = [super preferredLayoutAttributesFittingAttributes:layoutAttributes]; CGRect rect = [self.textLabel.text boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, itemHeight) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:14]} context:nil]; rect.size.width +=8; rect.size.height+=8; attributes.frame = rect; return attributes; } @end
Controller中關鍵
#pragma mark — 檢視控制器中使用:(關鍵) layout.estimatedItemSize = CGSizeMake(20, 60); // layout約束這邊必須要用estimatedItemSize才能實現自適應,使用itemSzie無效
以上就是 一對一直播系統原始碼,UICollectionViewCell自適應文字寬度,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2840577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手機直播原始碼,讓div寬度自適應文字內容原始碼
- app直播原始碼,Flutter 寬高自適應APP原始碼Flutter
- input文字框寬度自適應
- 一對一直播系統原始碼,點選觀看視訊時,自動自適應全屏原始碼
- flex一欄寬度固定一欄寬度自適應佈局Flex
- 一列寬度固定一列寬度自適應佈局
- 固定寬度下,CSS 實現自適應文字CSS
- 一列居中寬度自適應佈局
- app直播原始碼,flutter Text自動計算文字內容的寬度APP原始碼Flutter
- 一對一直播廣泛的應用,源自於一對一直播系統原始碼的強大原始碼
- 一對一直播系統原始碼有哪些優勢原始碼
- 1對1直播原始碼改變直播傳統模式新穎一對一聊天系統原始碼模式
- 線上直播系統原始碼,平臺彈窗自適應裝置原始碼
- 一對一直播系統原始碼開發工具如何搭建?原始碼
- 微信小程式 – 富文字圖片寬度自適應(正則)微信小程式
- 2022直播交友原始碼一對多直播系統原始碼同城視訊聊天交友app原始碼APP
- 短視訊直播系統,個人主頁背景圖片自適應寬高
- 一對一直播原始碼對網路教育做出的系統開發原始碼
- 三列寬度自適應佈局
- echarts圖示如何自適應寬度Echarts
- 一對一直播系統原始碼,後臺管理系統許可權控制方案原始碼
- 一對一直播系統原始碼開發需要哪些基礎功能原始碼
- 看完你就瞭解一對一直播社交系統原始碼了原始碼
- 三列布局中間寬度自適應
- 兩列居中寬度自適應佈局
- CSS實現圖片寬度自適應CSS
- 兩列布局,自適應寬度練習
- APP一對一直播交友帶社群動態短視訊功能一對多直播交友系統原始碼APP原始碼
- 關於一對一軟體如何搭建PHP直播系統原始碼的流程PHP原始碼
- 一對一直播系統原始碼,Flexbox+ReclyclerView實現流式佈局原始碼FlexView
- 原生一對一直播交友原始碼、自帶美顏sdk,同城社交APP原始碼原始碼APP
- 一對一直播系統原始碼,按住對話方塊右滑顯示刪除原始碼
- 一對一直播原始碼助力一對一教育,進入直播3.0時代!原始碼
- app直播原始碼,css寬度不固定,水平居中APP原始碼CSS
- 線上直播系統原始碼,android 中一段文字設定不同顏色原始碼Android
- CSS 自適應內容寬度的輸入框CSS
- 什麼是一對一直播原始碼?一對一直播為何產生?原始碼
- 一對一直播系統原始碼開發需要用到什麼技術原始碼