Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >UITextView tableHeaderView固有高度

UITextView tableHeaderView固有高度
EN

Stack Overflow用户
提问于 2016-08-27 23:29:11
回答 1查看 161关注 0票数 0

我以编程方式(不使用Story Board或Interface Builder)创建了一个名为FooTableViewControllerUITableViewController自定义子类。

viewDidLoad中,我将tableView.tableHeaderView设置为一个不可编辑的UITextView,高度为任意的200,其text设置为随机的String

当我旋转设备时,UITextView会自动更新其宽度。当我设置它的text (这样它就包含了它的text)时,我如何让它自动更新它的高度?

注意:我使用不可编辑的UITextView而不是UILabel,因为我希望用户能够选择和复制文本。

EN

回答 1

Stack Overflow用户

发布于 2016-08-28 01:59:19

下面是FooTableViewController的相关实例方法。

代码语言:javascript
代码运行次数:0
复制
// MARK: - UIViewController

override func viewDidLoad() {
    super.viewDidLoad()
    let textView = UITextView(frame: CGRect.zero, textContainer: nil)
    textView.editable = false
    textView.font = .systemFontOfSize(17)
    textView.scrollEnabled = false
    textView.scrollsToTop = false
    textView.text = "Random long string"
    textView.textContainerInset = UIEdgeInsets(top: 15, left: 12, bottom: 25, right: 12)
    tableView.tableHeaderView = textView
}

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    updateTableHeaderViewHeightForWidth(view.frame.width)
}

// MARK: - UIContentContainer

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
    coordinator.animateAlongsideTransition({ _ in self.updateTableHeaderViewHeightForWidth(size.width) }, completion: nil)
}

// MARK: - Helpers

func updateTableHeaderViewHeightForWidth(width: CGFloat) {
    let textView = tableView.tableHeaderView!
    let oldHeight = textView.frame.height
    let newHeight = textView.sizeThatFits(CGSize(width: width, height: CGFloat.max)).height
    textView.frame.size.height = newHeight
    tableView.contentSize.height += newHeight - oldHeight
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39186707

复制
相关文章
iOS开发过程中的奇淫技巧记录
为了修改带分组tableview的section header跟随置顶的问题,网上的奇淫技巧比方通过修改scroller的回调方法,体验不好,正规的方法是修改为tableView的UITableViewStyleGrouped模式,但该模式下列表section Header的高度过高,需要设置一个footer的高度:
呱牛笔记
2023/05/02
6060
iOS开发过程中的奇淫技巧记录
UITextView字数限制
经常做,经常忘,记下来,以后好直接拷贝。 开始使用如下方法做限制 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if ([text isEqualToString:@""] && range.length > 0) { //删除字符肯定是安全的 return YES; }
王大锤
2018/07/04
2.7K0
UITextView Link 颜色
UITextView 设置 NSAttributedString.Key.foregroundColor : UIColor.qvmedi_color(withHEX: 0x304EFF) 不起作用 新增 textView.linkTextAttributes = [:] textView.attributedText = attrStr
developerbfl
2021/04/19
1.9K0
如何隐藏tableHeaderView或tableFooterView
在项目中,因为同一页面结构体不同,头部是相同的结构,用了两个不同的tableView,头部是统一的view,但是发现tableView.tableHeaderView=_headerView只赋值一次,不支持来回赋值,打印出 NSLog(@"%@",_headerView.superview)仍然是上一个tableview视图。
honey缘木鱼
2019/11/04
1.1K0
UITextView字数限制
经常做,经常忘,记下来,以后好直接拷贝。 开始使用如下方法做限制 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if ([text isEqualToString:@""] && range.length > 0) { //删除字符肯定是安全的 return YES; }
王大锤
2018/05/17
2.4K0
自定义UITextView
自定义UITextView,带有placeholeder,可以设置placeholeder文字的大小和颜色。
hrscy
2018/08/30
5770
自定义UITextView
iOS中UITextView方法解读 原
@property(nonatomic,assign) id<UITextViewDelegate> delegate;
珲少
2018/08/16
9720
设置UITextView的行间距
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53261917
用户1451823
2018/09/13
2K0
UITextView 手势触发 TouchesBegan 函数
前几天做了个手势可以改变文章字体大小的功能。开始,在当前view中添加一个UITextView ,然后添加- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event函数,可怎么也触发不了,在网上找了些资料,说得也不是很清楚,今天把它总结下。
全栈程序员站长
2022/09/16
1.3K0
改变UITextView的边框颜色
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/51086444
用户1451823
2018/09/13
2.1K0
iOS 10 ~ iOS 15 tableview 适配(使用注意事项)
参考:https://www.jianshu.com/p/b42030a37953 https://blog.csdn.net/weixin_34037977/article/details/91634236
清墨
2022/11/12
2.1K0
iOS 10 ~ iOS 15 tableview 适配(使用注意事项)
【IOS开发基础系列】UITextView专题
frame.size.height = self.serTextView.contentSize.height;
江中散人_Jun
2023/10/16
4430
【IOS开发基础系列】UITextView专题
iOS - 解决tableHeaderView添加searchBar后出现的问题
无语了,遇到这个问题,虽然解决了,但接下来还是得好好找找问题的原因所在~~ 问题重现 未修改前的代码 self.tableView.tableHeaderView = self.searchCon
LinXunFeng
2018/06/29
9600
[iOS] 输入框高度随输入内容变化
对于第一点,有一个方便的计算方法,就是获取UITextView内容的高度比上UITextView的字体的高度,即可得到当前的行数。
wOw
2018/09/18
2.5K0
自定义UIPageControl、UITextView占位视图
一言不合先上效果图: ①、自定义的UIPageControl是继承于UIView,封装好的,可以设置图标大小,形状,图片 ,颜色,间隔,当然,需要的话,也可以自定义图标视图;详情请按快捷键Ctrl +
且行且珍惜_iOS
2018/05/22
8610
UITextView自动滚动的解决方案
思路:UIView加载完成3后,用NSTimer结合setContentOffset将UITextView向下滚动1像素。在滚动到底部的时候停止NSTimer。每当手动滚动UITextView前销毁NSTimer,滚动后重新创建NSTimer。 NSTimer *timer; - (void)viewDidLoad { [self performSelector:@selector(resetText) withObject:nil afterDelay:3.0f]; } - (void)resetTe
用户1172164
2018/01/16
1.5K0
刹车盘固有频率检测系统
汽车刹车系统是由刹车盘 (disc)、卡钳 (bracket)、来令片 (pad)、以及托架 (bracket) 所组成。当这些刹车系统部件的固有频率因设计不良或制造不良而导致耦合时,就会在刹车时,因摩擦行为产生的激振力传入系统,而产生共振行为,进而导致刹车异音的发生。
SHOUT
2022/05/31
6250
刹车盘固有频率检测系统
iOS开发中利用runtime设置UITextView的默认文字
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/75258532
用户1451823
2018/09/13
6270
iOS-UITableView 之 tableHeaderView 遮挡后面 cell 的问题
1. 理想状态下的 tableHeaderView(见下图): 理想状态下的tableView.png 2. 但是有时候会出现这种情况(见下图): tableHeaderView遮挡住cel
用户1890628
2018/05/10
3.2K0
点击加载更多

相似问题

SwiftUI ScrollView中包装的非滚动UITextView的固有高度

13

动态设置tableHeaderView高度

105

tableHeaderView中的UITextView找不到委托

11

tableHeaderView的高度似乎为0

11

iOS 7无法更改TableHeaderView的高度

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档