如何在UIImageView中逐个显示图像?

时间:2014-10-08 04:32:36

标签: swift uiimageview

我正在开发一个益智游戏,我希望在屏幕上显示9个图像,我的代码是:

override func viewDidLoad() {
        super.viewDidLoad()

        var xCen :CGFloat  = 53
        var yCen :CGFloat = 94

        for v in 0...2{

            for h in 0...2{

                let Image1 = UIImage(named: "kat_1.gif")
                let myImageView = UIImageView(image: Image1)
                myImageView.frame = CGRectMake(0, 0, 106, 106)
                myImageView.center = CGPointMake(xCen, yCen)
                myImageView.userInteractionEnabled = true
                self.view.addSubview(myImageView)
                xCen += 106
            }
            xCen = 53
            yCen += 189
        }
    }

使用此代码1图像在屏幕上显示9次我这样做是为了测试,它工作正常。但我不知道如何用这个显示其他8个图像。我是通过Objective-C语言教程做到这一点的,它说的是这样的:

myImageView.Image = [UIImage imageNamed:[NSString stringWithFormat:@"jc_%02i.jpg",h+v*4] ]

2 个答案:

答案 0 :(得分:1)

而不是:

let Image1 = UIImage(named: "kat_1.gif")

您可以使用字符串插值(字符串内部\(expr)的语法,其中expr是要在字符串中替换的表达式或变量):

let image1 = UIImage(named, "kat_\(h+v*3).gif")

或者,如果你有十个以上并且想要有两位数的前导零(即你想使用printf风格),你可以:

let filename = String(format: "kat_%02i.jpg", h+v*3)
let Image1 = UIImage(named: filename)

显然,使用其中任何一个,根据你的名字模式进行调整,但希望这说明了基本的想法。

答案 1 :(得分:0)

我建议使用UICollectionView,并使用此类应用程序的图像填充每个单元格。