iPhone iOS如何在UITextView上面添加一个可见的标题视图?

时间:2012-04-23 01:37:05

标签: iphone objective-c ios header uitextview

我正在尝试在UITextView上添加标题。我现在的代码现在添加了一个标题,它最初是可见的,但是一旦用户滚动它就会被隐藏(它已经下拉以刷新它的感觉)。 我希望让我的UITextView绘制文本比正常低90个像素,并从原点开始在文本上方绘制标题。怎么办呢?

目前我有:

[self.textViewWithHeader addSubview:self.headerView];
self.headerView.center = CGPointMake(160,-50);
self.salesCopyTextField.contentOffset = CGPointMake(0,-90);

这会在文本上显示标题,但会被scrollview的边界剪切掉。

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

我最终使用普通UITableView,第一个单元格是标题。第二个单元格包含一个UITextView,其高度动态计算以匹配UITextView的高度。 UITextView已停用滚动功能,只保留UITableView's滚动条。当用户点击文本视图进行编辑时,滚动有一种奇怪的行为,但我不认为这是一个主要问题

答案 1 :(得分:0)

为什么self.headerView需要成为self.textViewWithHeader的子视图?我会将self.headerView添加到相应位置的textViewWithHeader的父视图中。

这样的东西
[self.view addSubview:self.textViewWithHeader];
self.headerView.frame = CGRectMake(self.textViewWithHeader.frame.origin.x, self.textViewWithHeader.frame.origin.y - self.headerView.frame.size.height, self.headerView.frame.size.width, self.headerView.frame.size.height);
[self.view addSubview:self.headerView];

答案 2 :(得分:0)

contentInset设为contentOffsetcontentOffset只影响滚动位置。有关contentOffset的详细说明,请查看WWDC 2012 Session Videos的“使用滚动视图增强用户体验”的开头。

相关: Header View for a UITextView?

答案 3 :(得分:0)

使用 Swift 3

let headerViewHeight: CGFloat = 30.0
let headerView = HeaderView(frame: CGRect(x: textView.bounds.origin.x, y: textView.bounds.origin.y - headerViewHeight, width: textView.bounds.size.width, height: headerViewHeight))
textView.addSubview(headerView)
textView.contentInset.top = headerViewHeight