How can I get the current zoom level in a UIScroll

2019-04-07 11:43发布

In an attempt to create a workaround for centering an image in a UIScrollView and make it behave as Apple's Photos app does, I need to get the current zoom level and use the number to calculate the amount the image should be inset at each zoom level.

(Note: I am aware that some programmers are centering an image in a scrollview by centering the image in a UIView that is the same size as the scrollview. This does not give good results and I am trying to find out how apple made it work in the photos app.)

So, anyone know how to get the current zoom level of the content in a UIScrollView?

2条回答
放我归山
2楼-- · 2019-04-07 11:56

In OS 3.x, there's a property called "zoomScale" that will give you what you want. In 2.x, I believe you can look directly at the contentView's transform to obtain this (but that is, of course, not 'official'.)

查看更多
Root(大扎)
3楼-- · 2019-04-07 12:13

Yep I got your problem's answer. I think you should use this method in your scrollViewController Class.

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{
    NSLog(@"Zoomscale %f",scale);
        NSLog(@"Zoom End!");
}
查看更多
登录 后发表回答