一對一直播系統原始碼,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
- input文字框實現寬度自適應程式碼例項
- 一列居中寬度自適應佈局
- UMeditor寬度自適應
- CSS左右兩欄寬度自適應中間一欄寬度固定CSS
- 左右兩列寬度固定,中間一列寬度自適應程式碼例項
- app直播原始碼,flutter Text自動計算文字內容的寬度APP原始碼Flutter
- css三列一列寬度自適應效果CSS
- Qt QTableWidget 最後一覽自適應寬度QT
- 一對一直播廣泛的應用,源自於一對一直播系統原始碼的強大原始碼
- 線上直播系統原始碼,平臺彈窗自適應裝置原始碼
- 一對一直播系統原始碼有哪些優勢原始碼
- 微信小程式 – 富文字圖片寬度自適應(正則)微信小程式
- 1對1直播原始碼改變直播傳統模式新穎一對一聊天系統原始碼模式
- 一對一直播系統原始碼開發工具如何搭建?原始碼
- 三列寬度自適應佈局
- React根據寬度自適應高度React
- echarts圖示如何自適應寬度Echarts
- 短視訊直播系統,個人主頁背景圖片自適應寬高
- 一對一直播原始碼對網路教育做出的系統開發原始碼
- 兩列居中寬度自適應佈局
- CSS實現圖片寬度自適應CSS
- xib 控制元件寬度自適應控制元件
- 一對一直播系統原始碼,後臺管理系統許可權控制方案原始碼
- 一對一直播系統原始碼開發需要哪些基礎功能原始碼
- 看完你就瞭解一對一直播社交系統原始碼了原始碼
- 如何獲取寬度自適應的元素的width寬度值
- APP一對一直播交友帶社群動態短視訊功能一對多直播交友系統原始碼APP原始碼
- css實現的左右兩列寬度固定中間寬度自適應CSS
- css左欄固定右欄寬度自適應CSS
- 關於一對一軟體如何搭建PHP直播系統原始碼的流程PHP原始碼
- 一對一直播原始碼助力一對一教育,進入直播3.0時代!原始碼