在TableView中插入ScrollView?

时间:2011-03-22 11:27:55

标签: iphone

我有一个带有一个单元格的TableView,我想在这个单元格中插入大量文本,所以我想我需要使用ScrollView来滚动文本。

我该如何插入?这方法是否正确?

这是应用程序中的一个帮助,是否正确使用这种方式?

抱歉,我是初学者,我没有iPhone或iPod,谢谢!

4 个答案:

答案 0 :(得分:1)

虽然我同意7KV7的原始评论,但在这种情况下看起来并不需要桌面视图......

为了防止其他人发生这种情况,寻找“Tableview中的Scrollview”问题的答案,这里的上述评论几点澄清。

在同一个视图中同时拥有tableview和scrollview的技术问题是UITableView已经是UIScrollView的后代了,如果你试图在同一视图中同时处理它们,那么你最终会遇到相互冲突的委托消息。

根据iPhonePgr的建议,您可以创建自定义UITableViewCell。首先想到的是让UITableViewCell充当它自己的滚动视图的委托。这里的问题是,作为tableview的出列功能的一部分,单元格及其内容可以随时丢弃或重用。

指导实施的一些基本规则:

  1. 无论你的解决方案是什么,你可能最终会制作一个自定义控制器类,可能是从NSObject派生并实现UIScrollViewDelegate。
  2. 自定义控制器对象充当模型对象和单元格之间的中介。
  3. 您可能会有一个数组或数组数组,它​​们反映了驱动UITableView结构的模型层次结构。
  4. 因为可以随时丢弃单元格,所以您将在单元初始化时恢复滚动视图状态,并保留状态部分处理您的委托操作或通过实现prepareForReuse的自定义UITableViewCell。
  5. 希望这些观点对任何遇到此条目的人都有用。

答案 1 :(得分:0)

您需要通过继承UITableViewCell创建自定义单元格,然后在customcell中添加UIScrollView。然后在表视图中使用该单元格。

答案 2 :(得分:0)

您可以将文字放在UITextView中,并将其作为子视图添加到UITableViewCell中,因为

    UITextView is inherited from UIScrollView, 
No need to add UIScrollView if you use UITextView

答案 3 :(得分:0)

当您创建UITableView时,您可以实现一些委托方法,您可以通过按窗口键然后双击UITableView委托来查看该方法。在其中一种方法中,您可以根据需要设置单元格高度。通过这样做,您的细胞高度可以变化。

- (CGFloat)tableView:(UITableView *)resultTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath    
{    

    return 150;    

}      

由于您的表具有已定义的高度,当单元格中的文本太多而无法包含到滚动视图中时,将自动插入。