我正在开发一个益智游戏,我希望在屏幕上显示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] ]
答案 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,并使用此类应用程序的图像填充每个单元格。