ios - 奇怪的按钮动画

标签 ios swift uibutton swift2 uilabel

这是我第一次尝试IOS动画,所以如果我一开始就担心,请告诉我正确的方向。

所有我想要的:当我点击 ButtonOne 时,Label 会慢慢消失。 代码如下:

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var labelHeight: NSLayoutConstraint!
    private var isHidden: Bool = false

    @IBAction func clickButtonOne(sender: UIButton) {
        isHidden = !isHidden
        if isHidden {
            labelHeight.constant = 0
        } else {
            labelHeight.constant = 60
        }
        UIView.animateWithDuration(1.0, animations: {
                () -> Void in
                self.view.layoutIfNeeded()
            }, completion: nil)
    }
    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

在我点击 ButtonOne 之前: ButtonOne+Label+ButtonTwo 单击 ButtonOne 后(标签从底部收缩到顶部): ButtonOne+halfTopLabel+ButtonTwo

最佳答案

UILabel 正在消失,但它的内容仍然可见。

您需要将 UILabel 的 clipsToBounds 属性设置为 true

label.clipsToBounds = true

您可以通过检查属性检查器中的 Clip Subviews 属性在界面构建器中设置相同的属性。

enter image description here

关于ios - 奇怪的按钮动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783776/

相关文章:

ios - Objective-C 中选择器上的 EXC_BAD_ACCESS

objective-c - 如何在 iPhone 上镜像视频?

ios - 同步执行多个动画的最佳方式

ios - 如何旋转蒙版图像?

ios - 从 AppDelegate 调用 ViewController 的成员函数

ios - 带圆角半径的渐变 UIButton 边框

ios - 尝试让按钮与 TextField iOS 配合使用

ios - 在基于 swift 的应用程序中播放 Avi 视频

ios - 如何在没有 uislider 的情况下显示流的进度?

ios - 检测 Sprite 之间的碰撞