UIScrollView以横向和纵向模式缩放

时间:2015-08-20 18:29:23

标签: ios xcode swift uiscrollview uiimageview

我在横向模式下的滚动视图中遇到了缩放比例问题。当我将iphone放入风景时,我希望我的图像能够完美地扩展。当我在纵向模式下加载我的图像时,我的scrollview上的zoomcale工作正常,但当我把它放到横向时,它不会改变比例,除非我回到tableview并将iphone放在横向,然后加载图像。

任何帮助都有帮助!

我尝试过如下使用:

if (UIDeviceOrientationIsLandscape(UIDevice .currentDevice().orientation))
    {
        scrollView.zoomScale = 0.50
    }


    if (UIDeviceOrientationIsPortrait(UIDevice .currentDevice().orientation))
    {
        scrollView.zoomScale = 0.25

    }

这是我在纵向模式下加载图像时的样子:

This is how

这是我在打开照片的同时从纵向模式旋转iphone时的样子(我希望它如下图所示):

enter image description here

这是我在横向模式下加载图像时的样子:

enter image description here

1 个答案:

答案 0 :(得分:0)

添加方向更改侦听器:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "deviceDidRotate", name: UIDeviceOrientationDidChangeNotification, object: nil)

然后实现deviceDidRotate方法:

func deviceDidRotate(){

    if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation)){            
        scrollView.zoomScale = 0.50
    }

    if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation)){
        scrollView.zoomScale = 0.25
    }

}