2015-04-20 210 views
1

该视图只加载一个图像,并允许用户放大和缩小以近距离查看图像的某些部分。但是,它会以巨大的尺寸加载,我希望它以屏幕尺寸加载。或者如果屏幕尺寸很难得到,那么只需加载50%的尺寸就可以。UIScroll视图设置初始图像尺寸小于全尺寸

override func viewDidLoad() { 
    super.viewDidLoad() 

// Do any additional setup after loading the view. 

    self.scrollView.minimumZoomScale = 0 
    self.scrollView.maximumZoomScale = 1 
    self.scrollView.delegate = self 
    self.imageView.image = self.image! 
    } 

    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 
    return self.imageView 
    } 
} 

如何将初始图像尺寸设置为合理尺寸,但允许缩放为全尺寸图像?

谢谢!

+0

scrollView.zoomScale = view.frame.width/imageView.image.size.width –

+0

添加'scrollView.zoomScale = view.frame.width /内viewDidLoad中imageView.image.size.width'没有按” t在加载时似乎对图像的大小有任何影响。 @LeonardoSavioDabus –

+0

您是否尝试添加下面的图像imageView.image = image! ? –

回答

0

您只需计算将您的视图宽度除以图像大小宽度的变焦作为f ollow:

scrollView.zoomScale = view.frame.width/imageView.image.size.width 
0

获取屏幕尺寸:(目标-C)

let screenSize: CGRect = UIScreen.mainScreen().bounds 
let screenWidth = screenSize.width 
let screenHeight = screenSize.height 

设置的UIImageView帧到屏幕大小,然后设定纵横以适应:

imageView.contentMode = .ScaleAspectFit (UIViewContentModeScaleAspectFit in Obj-C) 

然后,只需设置zoomScale:

self.scrollView.zoomScale = .5; 
+0

我是新手,很抱歉,如果我不理解。我在viewDidLoad中添加了以下代码,并且在加载时对图像的大小没有影响。 '让屏幕尺寸:的CGRect = UIScreen.mainScreen()边界 让屏幕宽度= screenSize.width 让screenHeight = screenSize.height imageView.contentMode = .ScaleAspectFit self.scrollView.zoomScale = 0.5;' –