这是我的情况:
有8个ImageView。左边的4在我的代码中调用(从顶部开始):Left1,Left2,Left3,left4。右边的4(始终从顶部开始):Right1,Right2,Right3,Right4。
然后中间有两个红色按钮:" Up"和" Down"和标签。
当按下按钮时,应该发生的所有ImageView都会到达屏幕顶部上方的位置(所以它们的center.y< 0)已经在代码中设置了,当发生这种情况时,标签文本设置为" Up"。 相反,我按下按钮,所有的ImageView都回到初始位置,标签文本设置为" Down"。
相反,label.text根据我的代码更改,但我的ImageViews不会移动。
这是我的代码:
首先我声明对象:
class ViewController: UIViewController {
@IBOutlet weak var Up: UIButton!
@IBOutlet weak var Down: UIButton!
@IBOutlet weak var Lab: UILabel!
@IBOutlet weak var Left1: UIImageView!
@IBOutlet weak var Left2: UIImageView!
@IBOutlet weak var Left3: UIImageView!
@IBOutlet weak var Left4: UIImageView!
@IBOutlet weak var Right1: UIImageView!
@IBOutlet weak var Right2: UIImageView!
@IBOutlet weak var Right3: UIImageView!
@IBOutlet weak var Right4: UIImageView!
在查看已加载中,我隐藏了所有ImageViews:
Left1.hidden = true
Left2.hidden = true
Left3.hidden = true
Left4.hidden = true
Right1.hidden = true
Right2.hidden = true
Right3.hidden = true
Right4.hidden = true
然后有两个按钮动作:
- 按钮
@IBAction func Up(sender: AnyObject) {
Lab.text = "Up"
//-------- 1 ----------//
Right1.center.y = 0 - 31
Left1.center.y = 0 - 31
Right1.hidden = false
Left1.hidden = false
//-------- 2 ----------//
Right2.center.y = 0 - 300
Left2.center.y = 0 - 300
Right2.hidden = false
Left2.hidden = false
//-------- 3 ----------//
Right3.center.y = 0 - 650
Left3.center.y = 0 - 650
Right3.hidden = false
Left3.hidden = false
//-------- 4 ----------//
Right4.center.y = 0 - 960
Left4.center.y = 0 - 960
Right4.hidden = false
Left4.hidden = false
}
这里我将标签文本放到" Up"并且,对于每一对ImageView(当我说几对时我的意思是图像顶部的ImageViews(1)是情侣1,底部的情侣4)我设置了他们的中心。到屏幕上方的值,然后我会显示它们。
- 按下按钮
@IBAction func Down(sender: AnyObject) {
Lab.text = "Down"
//-------- 1 ----------//
Right1.center.y = 92
Left1.center.y = 92
//-------- 2 ----------//
Right2.center.y = 171
Left2.center.y = 171
//-------- 3 ----------//
Right3.center.y = 249
Left3.center.y = 249
//-------- 4 ----------//
Right4.center.y = 326
Left4.center.y = 326
}
这里我只是将标签文字放到" down"并且ImageViews回到初始位置。
现在,这应该可以完美地运行,但是当我按下向上按钮时,标签文本会更改为向上,但ImageViews不会移动,只会出现。
相反,如果我评论标签说明,那么它可以工作:
- 按钮
@IBAction func Up(sender: AnyObject) {
//Lab.text = "Up"
//-------- 1 ----------//
Right1.center.y = 0 - 31
Left1.center.y = 0 - 31
Right1.hidden = false
Left1.hidden = false
//-------- 2 ----------//
Right2.center.y = 0 - 300
Left2.center.y = 0 - 300
Right2.hidden = false
Left2.hidden = false
//-------- 3 ----------//
Right3.center.y = 0 - 650
Left3.center.y = 0 - 650
Right3.hidden = false
Left3.hidden = false
//-------- 4 ----------//
Right4.center.y = 0 - 960
Left4.center.y = 0 - 960
Right4.hidden = false
Left4.hidden = false
}
- 按下按钮
@IBAction func Down(sender: AnyObject) {
//Lab.text = "Down"
//-------- 1 ----------//
Right1.center.y = 92
Left1.center.y = 92
//-------- 2 ----------//
Right2.center.y = 171
Left2.center.y = 171
//-------- 3 ----------//
Right3.center.y = 249
Left3.center.y = 249
//-------- 4 ----------//
Right4.center.y = 326
Left4.center.y = 326
}
通过这种方式,ImageViews可以移动,但标签文本当然不会改变。
标签和图像视图之间是否有任何关系?
我真的希望你能帮助我,这很疯狂。
谢谢