

現在、swiftで簡単なスクロービュー(スライドすると、次の写真にすすむ)を作っています。画像表示はできたのですが、画像が画面いっぱいに伸びきった状態でアスペクト比を整えたきれいな表示ができません。

`scrollView.contentMode = UIViewContentMode.ScaleAspectFit`  
を挿入しているのですが、どこがいけないのでしょうか？

ご教授お願いしたします。

[code]

    import UIKit
    
    class ViewController: UIViewController {
        var scrollView: UIScrollView!
        var pageImagesArr = ["1.jpg","2.jpg","3.jpg"];
    
        override func viewDidLoad() {
            super.viewDidLoad()
            let width = self.view.frame.maxX, height = self.view.frame.maxY
            let pageSize = self.pageImagesArr.count;
    
            //ScrollViewの作成
            scrollView = UIScrollView(frame: self.view.frame)
            scrollView.pagingEnabled = true
            scrollView.frame = CGRectMake(0,0,width,height);
            scrollView.contentSize = CGSizeMake(CGFloat(pageSize) * width, 0)
            __scrollView.contentMode = UIViewContentMode.ScaleAspectFit__
    
            //各ページの作成
            for var i = 0; i < pageSize; i++ {
                let img:UIImage = UIImage(named:self.pageImagesArr[i])!;
                let iv:UIImageView = UIImageView(image:img);
                iv.frame = CGRectMake(CGFloat(i) * width, 0, width, height);
                scrollView.addSubview(iv)
            }
            self.view.addSubview(scrollView)
        }
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }
    
[/code]


CC BY-SA 3.0
2015-07-01T04:30:22.187
11917
2015-07-01T05:10:14.010
2015-07-01T05:03:53.130
3516
9427
question
swift
swiftでスクロールビュー


手元で確認できなくて申し訳ないのですが、  
UIImageViewにAspectFitを設定してみたらどうですか？

[code]

    //各ページの作成
    for var i = 0; i < pageSize; i++ {
        let img:UIImage = UIImage(named:self.pageImagesArr[i])!;
        let iv:UIImageView = UIImageView(image:img);
        // 画像のアスペクト比を保持する
        iv.contentMode = UIViewContentMode.ScaleAspectFit
        iv.frame = CGRectMake(CGFloat(i) * width, 0, width, height);
        scrollView.addSubview(iv)
    }
    
[/code]


CC BY-SA 3.0
2015-07-01T05:10:14.010
11919
2015-07-01T05:10:14.010
3516
11917
answer