如何在UIScrollView中渲染图像上的非缩放叠加层

时间:2016-01-18 14:46:53

标签: ios objective-c uiview uiscrollview

我的计划是在UIScrollView内渲染自定义波形(允许用户平移和滚动波形)。但另外我想在波形顶部渲染额外的非缩放信息(如播放位置标记,时间......)

所以我有一个静态UIImage,它是预渲染的波形,还有一些我必须动态渲染的小位(我不希望位置标记或文本被放大)波形)。

我已经读过UIImageView是渲染简单图像(Most efficient way to draw part of an image in iOS)的最有效方法,但这对我来说还不够,因为我必须在它上面渲染一些东西。或者这有可能吗?

我现在没有看到使用UIScrollView的方法,因为它缩放了内部的所有内容?但如上所述,我只需要缩放图像,但附加数据不会缩放。

我可以使用UIScrollView实现此目的吗?或者我是否必须实现一个自定义视图来自行处理缩放和平移?

1 个答案:

答案 0 :(得分:0)

如果我理解你的正确,你需要缩放一个视图(UIImageView)并防止缩放另一个视图(例如UILabel)。所以,Scroll View缩小其中的所有内容是错误的。 UIScrollViewDelegate有方法

optional func viewForZoomingInScrollView(_ scrollView: UIScrollView) -> UIView?

它应该返回应该缩放的视图。希望,我帮助了你。