iOS TextView在TableviewCell中自动增加高度
2015-11-19 16:38
477 查看
原创Blog,转载请注明出处
http://blog.csdn.net/hello_hwc?viewmode=list
我的stackoverflow
前言:来自自己的一个StackOverFlow答案
这里要注意的是,添加了一个高度Constraint,这个Constraint是>=50的
SelfSizingCell.m
SelfSizingCell.h
TableviewController
http://blog.csdn.net/hello_hwc?viewmode=list
我的stackoverflow
前言:来自自己的一个StackOverFlow答案
效果
设置Cell的AutoLayout
这里要注意的是,添加了一个高度Constraint,这个Constraint是>=50的
SelfSizingCell.m
@interface SelfSizingCell ()<UITextViewDelegate> @property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint; @property (weak, nonatomic) IBOutlet UITextView *textview; @end @implementation SelfSizingCell - (void)awakeFromNib { // Initialization code self.textview.delegate = self; self.textview.scrollEnabled = false; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } -(void)textViewDidChange:(UITextView *)textView{ CGSize size = [textView sizeThatFits:CGSizeMake(CGRectGetWidth(self.frame), CGFLOAT_MAX)]; CGFloat height = size.height; if (height < 50) { self.heightConstraint.constant = 50; }else{ self.heightConstraint.constant = height; } [self.tableView beginUpdates]; [self.tableView endUpdates]; } @end
SelfSizingCell.h
@interface SelfSizingCell : UITableViewCell @property (weak,nonatomic)UITableView * tableView; @end
TableviewController
@implementation TableViewController - (void)viewDidLoad { [super viewDidLoad]; [self.tableView registerNib:[UINib nibWithNibName:@"SelfSizingCell" bundle:nil] forCellReuseIdentifier:@"cell"]; self.tableView.estimatedRowHeight = 50; self.tableView.rowHeight = UITableViewAutomaticDimension; self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 1; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { SelfSizingCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath]; cell.tableView = self.tableView; return cell; }
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Android的TextView与Html相结合的具体方法
- Android中实现为TextView添加多个可点击的文本
- android textview 显示html方法解析
- Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)
- Android实现TextView中文字链接的4种方式介绍及代码
- android TextView属性的详细介绍 分享
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- Android编程中TextView宽度过大导致Drawable无法居中问题解决方法