我有一个标签,切换按钮,在我的代码的动画。 当我按下切换按钮 - >动画开始,标签的变化。 下面是我的代码示例。
override func viewDidLayoutSubviews() {
println("viewDidLayoutSubviews is called")
// Initial state of my animation.
}
@IBAction func Toggled(sender: AnyObject) {
CallTextChange()
// Two different Animations
}
func CallTextChange() { // Change text here}
我每次更改标签viewDidLayoutSubviews文本被调用。 有没有办法阻止我每次更改标签时调用它?
我发现我的问题的答案。
当我们从由Xcode中提供的对象创建的UIImage通过拖和滴,该图像是暂时放置在它被放置静态。 因此,在中间的动画时,当viewDidLayoutSubviews被称为图像被放置在静电的场所。 所以UIImage的有以编程方式创建。
CreateImage.image = UIImage(named: "Image.png")
CreateImage = UIImageView(frame: CGRect(x: 0, y: 0, width: CreateImage.image!.size.width/6, height: CreateImage.image!.size.height/6))
self.view.addSubview(CreateImage)
我认为,当你改变的文本和的UILabel它将改变其固有的内容大小,反过来会通知系统重新布局视图层次结构。 因此,它似乎是不可避免的viewDidLayoutSubviews将被调用。
要么你把一个布尔标志,使您最初的动画代码执行一次只或您的代码移到像viewDidLoad中()方法的其他地方。