对UIScrollView进行子类化以绘制无视图

时间:2010-03-28 04:20:40

标签: iphone uiscrollview

我正在考虑子类化UIScrollView(UITextView的方式)来绘制相当大量的文本(格式化为NSTextView不能的格式)。

到目前为止,视图实际上不会滚动。我正在设置contentSize,当我拖动时,我会看到滚动指示器。但没有任何改变(我没有得到drawRect:消息)。

另一种方法是使用子视图,我已经这样做了。但是,视图的高度可能超过5000像素,我对实际设备的性能有点担心。

(另一种方法,就像UITableView,将是一个巨大的痛苦 - 我正在“移植”Mac Cocoa代码,一系列视图将是一个巨大的架构变化。)

我做了一些搜索,但没有找到任何使用UIScrollView进行绘图的人。有没有人这样做,知道任何陷阱?

1 个答案:

答案 0 :(得分:2)

当用户滚动时,UIScrollView所做的就是更新其边界矩形,这会导致滚动视图子视图移动。您可以尝试将滚动视图的contentMode设置为UIViewContentModeRedraw。来自文档:

  

UIViewContentModeRedraw
  通过调用setNeedsDisplay方法在边界更改时重新显示视图。