实现自定义 UIScrollView
Posted
技术标签:
【中文标题】实现自定义 UIScrollView【英文标题】:Implementing a custom UIScrollView 【发布时间】:2010-10-13 17:48:17 【问题描述】:出于某种原因,我正在尝试实现一个自定义 UIView
来模仿 UIScrollView
的行为。问题是如何显示由contentOffset
属性表示的内容的正确部分?
我分析了UIScrollView
,发现它没有采用任何中间子层或操纵边界和变换属性来应用偏移量。我已经重写了 UIView`` 的 drawRect:
方法如下,但它没有工作:
- (void)drawRect: (CGRect)rect
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, -content_offset_.x, -content_offset_.y);
所以我的问题是UIScrollView
如何显示其内容的正确部分?我应该覆盖图层的显示方法还是其他?任何建议,将不胜感激!并且请不要问“你为什么首先要做这样的事情?” :D
谢谢!
【问题讨论】:
【参考方案1】:UIScrollView
改变它的边界(它移动原点)。
-drawRect:
被调用来绘制图层的内容并且不影响子图层。你什么都没画。
不过,我只想使用UIScrollView
。你在做什么UIScrollView
没有?
【讨论】:
哦..你是对的。我已经对其进行了测试,我认为它并没有改变 bounds 属性,但我错了。我正在制作类似于内置照片应用程序的东西,但是另一个 UIScrollView 中的 UIScrollView 有时表现得非常笨拙,所以我想制作一个自定义的。感谢您的回答!以上是关于实现自定义 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章