【发布时间】:2014-05-30 08:08:01
【问题描述】:
我的目标是创建一个 UIImage,当我在 UIScrollView 中滚动时它会自动缩放。这工作得很好,但是一旦我的图像的比例设置为 .6 之类的东西,您就无法再在 UIScrollView 中滚动(即使您将缩放重置为 1 或 0.5 或/并重新分配内容大小滚动视图)。这很奇怪,因为将缩放设置为 1、.75、.5 或 .25 不会影响滚动视图(即它可以正常工作)。我使用transform 而不是设置帧大小,因为我希望图像由自动布局居中。有没有更好的方法来缩放图像而不接触frame?为什么设置图像的缩放比例会影响滚动视图?
这是我用于调整图像大小的代码:
- (void)scrollViewDidScroll:(UIScrollView *)sender {
CGFloat pageWidth = sideScroller.frame.size.width;
CGFloat scrollOffset = sideScroller.contentOffset.x;
float fractionalPage = scrollOffset / pageWidth;
NSInteger page = lround(fractionalPage);
[pageControl setCurrentPage:page];
if (scrollOffset > pageWidth)
scrollOffset = (pageWidth * 2) - scrollOffset;
float logoSize = 1 - ((scrollOffset / pageWidth) / 2);
logo.transform = CGAffineTransformMakeScale(logoSize, logoSize);
}
【问题讨论】:
标签: ios objective-c uiscrollview transform