2016-12-10 31 views
1

我的UIScrollView只有一个customContentView作为子视图。这是作为viewForZoomingInScrollView返回的:。但是这样,我的customContentView的每个子视图都被放大了:我想放大一些,其他的不放(例如标签),但是当然相对位置应该保持不变。有没有办法做到这一点?UIScrollView:只能缩放一些视图

+0

什么阻止你使用两个滚动型子视图 - 其中包含可以缩放的组件和其他包含无法缩放的组件的组件? –

+0

我现在无法测试它,但是相对于彼此的位置保持正确,然后在缩放的视图和那些不是的视图之间?例如。一个带有标签旁边的矩形视图:矩形应该缩放,标签不应该,但标签应该始终保持在矩形旁边。 – swalkner

+0

我刚测试过它 - 不,不幸的是,它们不能解决我的问题... – swalkner

回答

2

您需要申请逆尺度变换为下面的标签,

func scrollViewDidZoom(_ scrollView: UIScrollView) { 
    sampleLabel.transform = CGAffineTransform(scaleX: 1/scrollView.zoomScale, y: 1/scrollView.zoomScale) 
} 

放大之前,

BeforeZoom

放大后, After Zoom

+1

太棒了,真棒,完美! – swalkner