将 UITextView 放在 UITableView 页脚中

Posted

技术标签:

【中文标题】将 UITextView 放在 UITableView 页脚中【英文标题】:Placing UITextView inside a UITableView footer 【发布时间】:2009-10-16 11:57:01 【问题描述】:

我有一个带有页脚视图的 UITableView。此页脚视图包含一个 UITextView 作为子视图。表格视图和页脚视图都是以编程方式创建的。文本视图正确显示在屏幕上,但它不显示任何文本,也不响应触摸事件。

这个问题可能与 UITextView 是 UIScrollView 的子类有关吗?还是我刚刚在文本视图的初始化中遗漏了什么?

我初始化页脚和文本视图的代码如下所示:

// Create the footer
UIView *tempFooter = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
[tempFooter setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth];
[tempFooter setBackgroundColor:[UIColor groupTableViewBackgroundColor]];
self.tableFooterView = tempFooter;
[tempFooter release];

UITextView *tempTextView = [[UITextView alloc] initWithFrame:CGRectMake(5, 5, 270, 140)];
[tempTextView setDelegate:self];
[tempTextView setEditable:YES];
tempTextView.keyboardType = UIKeyboardTypeDefault;
tempTextView.returnKeyType = UIReturnKeyDone;
self.textView = tempTextView;
[tempTextView release];

[self.tableFooterView addSubView:self.textView];

【问题讨论】:

【参考方案1】:

我最近碰到一个类似的问题,发现一些输入元素的superview(A UIScrollView)的contentSize太小了。内容会显示(clipsToBounds = NO),但不会检测到触摸。

您是否检查过您的实际表格是否足够高以容纳其页脚视图?

【讨论】:

表格视图可以通过触摸文本字段内部并向上或向下拖动来滚动。这应该意味着 contentsize 足够大,可以包含 textview,对吧? 嗯,我会这么说。奇怪,我刚刚将您的代码复制到我的一个项目中,它可以正常工作,显示一个文本输入字段,并且键盘在触摸时向上滑动。 感谢您抽出宝贵时间调查此事。从那以后,我决定以不同的方式构建我的 UI,以避免这个问题。

以上是关于将 UITextView 放在 UITableView 页脚中的主要内容,如果未能解决你的问题,请参考以下文章

将光标放在 UITest 下 UITextView 的末尾

textview - 开始编辑时将光标放在文本末尾

UITextView 背景图像不适合 UITextView 框架的框架大小

UITextView 向左递增字符

使用 NSLayoutConstraints 在 UITextView 中将 UILabel 居中

如何让 UIScrollView 滚动到 UITextView 的光标位置?