Ios 如何为大型UIScrollView(随视图滚动)设置背景模式
这似乎是一个非常简单的问题!但是我有很大的困难 到目前为止,我的想法和尝试:Ios 如何为大型UIScrollView(随视图滚动)设置背景模式,ios,uiview,uiscrollview,core-animation,core-graphics,Ios,Uiview,Uiscrollview,Core Animation,Core Graphics,这似乎是一个非常简单的问题!但是我有很大的困难 到目前为止,我的想法和尝试: scrollView.backgroundColor=[UIColor WithPatternImage:myImage]] 不随内容滚动 创建UIViewcontentSize的大小(实际上,由于滚动视图上的弹性反弹而更大),并在UIScrollView的子视图上使用上述模式。 当UIView变得太大时,会导致大量内存命中(和崩溃)。另请参见: 与(2)类似,exept I仅创建一个ui视图,该视图的大小为将
scrollView.backgroundColor=[UIColor WithPatternImage:myImage]]
- 不随内容滚动
UIView
contentSize的大小(实际上,由于滚动视图上的弹性反弹而更大),并在UIScrollView
的子视图上使用上述模式。
- 当UIView变得太大时,会导致大量内存命中(和崩溃)。另请参见:
ui视图
,该视图的大小为将要看到的背景图像的最大重复次数,并巧妙地将视图移动到需要显示正确背景重复的任何位置。
- 使此背景视图在设置滚动动画时意外向左和向右移动。
UIView
子类并重写drawRect
。使用各种核心图形技术手工绘制内容。
- 不可设置动画。实现我自己的
属性不是标准的核心动画属性。contentOffset
- 在
上覆盖UIScrollView
不考虑内容偏移,并且在滚动/动画时不会多次调用。rect参数始终只是drawRect
的边界UIScrollView
setContentOffset
实现中设置我的UIView
子类的bounds.origin
,因为它是一个可设置动画的属性。
似乎并不是每帧都被调用。drawRect
CATiledLayer
,如此答案中所建议的那样:。此处的实现详细信息:。
- 我真的不想看到用户滚动时异步绘制瓷砖的丑陋。这只是一个简单的背景图案强>
这似乎是最简单的事情!为什么这么难 也许示例代码:ScollViewSuit->3_Tiling可以帮助您。您可以在官方文档集中搜索它 这与CATiledLayer类似,但仅使用UIKit,互动程序加载到主线程上
我真的不认为这是一个好的解决方案。也许示例代码:ScollViewSuit->3_Tiling可以帮助您。您可以在官方文档集中搜索它 这与CATiledLayer类似,但仅使用UIKit,互动程序加载到主线程上
我真的不认为这是一个好的解决方案。谢谢郭。我认为这是目前为止最好的答案。我想知道是否有可能在瓷砖不褪色的情况下让它工作?如果是这样的话,我可能会全力以赴,利用我正在使用这项技术的事实,制作一个巨大的瓷砖背景——把它变成一个真正的功能!啊,很抱歉,我没有意识到他们的平铺示例没有使用
CATiledLayer
,而是使用了多个uiimageview
,我想我可能会尝试一下这项技术……好吧,标记为正确的解决方案,因为我决定继续使用它,尽管它并不简单!谢谢郭。我认为这是目前为止最好的答案。我想知道是否有可能在瓷砖不褪色的情况下让它工作?如果是这样的话,我可能会全力以赴,利用我正在使用这项技术的事实,制作一个巨大的瓷砖背景——把它变成一个真正的功能!啊,很抱歉,我没有意识到他们的平铺示例没有使用CATiledLayer
,而是使用了多个uiimageview
,我想我可能会尝试一下这项技术……好吧,标记为正确的解决方案,因为我决定继续使用它,尽管它并不简单!