iOS_自动变高度的headerView
2015-12-16 18:21
357 查看
如果带首行缩进的Label
在控制器viewDidAppear中,delay执行下面的代码
- (void)dynamicLayout
{
_headerView.contentLabel.text = @"我们在慢慢长大 季节不断流转 路边绽放的花儿也不断变化着 那个季节所开的花 是什么名字呢 轻盈的摇曳着 每次触碰都有些刺痛 把鼻子凑过去 有股淡淡的夏日里的清香 这清香慢慢曾现着它应有的姿态 我们慢慢地在成长不过。。。那朵花肯定依然在某处绽放着 没错 我们不管到什么时候。。。 都会继续实现那花的愿望而努力我们在慢慢长大 季节不断流转 路边绽放的花儿也不断变化着 那个季节所开的花 是什么名字呢 轻盈的摇曳着 每次触碰都有些刺痛 把鼻子凑过去 有股淡淡的夏日里的清香 这清香慢慢曾现着它应有的姿态 我们慢慢地在成长不过。。。那朵花肯定依然在某处绽放着 没错 我们不管到什么时候。。。 都会继续实现那花的愿望而努力我们在慢慢长大 季节不断流转 路边绽放的花儿也不断变化着 那个季节所开的花 是什么名字呢 轻盈的摇曳着 每次触碰都有些刺痛 把鼻子凑过去 有股淡淡的夏日里的清香 这清香慢慢曾现着它应有的姿态 我们慢慢地在成长不过。。。那朵花肯定依然在某处绽放着 没错 我们不管到什么时候。。。 都会继续实现那花的愿望而努力";
// 让headerView 先更改数据源后,自动变高度
[self.headerView setNeedsLayout];
[self.headerView layoutIfNeeded];
// 取出计算后的新高度
CGFloat height = self.headerView.lastLine.y;
CGRect headerFrame = self.headerView.frame;
headerFrame.size.height = height;
self.headerView.frame = headerFrame;
[self.tableView setTableHeaderView:self.headerView];
}
自定义的headView
#import <UIKit/UIKit.h>
@interface SGMemoDetailHeaderView : UIView
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UILabel *contentLabel;
@property (weak, nonatomic) IBOutlet UILabel *lastLine;
+ (instancetype)SGMemoDetailHeaderView;
@end
#import "SGMemoDetailHeaderView.h"
@implementation SGMemoDetailHeaderView
+ (instancetype)SGMemoDetailHeaderView
{
// mainBundel加载xib,扩展名不用写.xib
NSArray *arrayXibObjects = [[NSBundle mainBundle] loadNibNamed:@"SGMemoDetailHeaderView" owner:nil options:nil];
return arrayXibObjects[0];
}
@end
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 分享一个iOS下实现基本绘画板功能的简单方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器