Swift - UI 按钮 : Animated Button crosses the edge

标签 swift xcode animation

我的 ViewController 中有一个 UIButton。当点击此按钮时,它会移动到 4 个调整位置。 问题是当我在 iphone 5s 模拟器中运行该项目时,UIButton 移动到边缘。

此外,调整后的 postitons 无法正常工作。

    let size : CGSize = CGSize(width: 100.0, height: 100.0);
    var intStep = 0;


    override func viewDidLoad() {
        super.viewDidLoad()

        self.movable_Button.frame.size = size;


        self.changePosition();


    }


        UIView.animate(withDuration: 1) {



            self.changePosition();
        }

    }

    func changePosition() {

        switch self.intStep {
        case 0 :
            self.movable_Button.frame.origin = CGPoint(x: 10.0, y: 10.0);

        case 1 :

            self.movable_Button.frame.origin = CGPoint(x: 280, y: 10)
        case 2 :
            self.movable_Button.frame.origin = CGPoint(x: 280.0, y: 300.0);

        case 3 :
            self.movable_Button.frame.origin = CGPoint(x: 10.0, y: 300.0);
        default:
            self.movable_Button.frame.origin = CGPoint(x: 10.0, y: 10.0);
        }

        self.intStep += 1;

        if self.intStep > 3
        {
            self.intStep = 0;
        }

    }

}

最佳答案

你到底想在这里做什么? 您似乎正在将按钮的 x 值移动到超出 iPhone 5s 的屏幕限制。

我建议您更改一些案例以使其可调整。 建议的更改可能是:

    case 1 :
    let isMovable1 = (self.movable_Button.frame.origin.x + 280 + 100) < UIScreen.main.bounds.width
        self.movable_Button.frame.origin = CGPoint(x: isMovable1 ? 280 : UIScreen.main.bounds.width - 100, y: 10)
    case 2 :
    let isMovable2 = (self.movable_Button.frame.origin.x + 280 + 100) < UIScreen.main.bounds.width
        self.movable_Button.frame.origin = CGPoint(x: isMovable2 ? 280 : UIScreen.main.bounds.width - 100, y: 10)

关于Swift - UI 按钮 : Animated Button crosses the edge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58185894/

相关文章:

IPA 内文件的 iOS 隐私

html - 在另一个 Canvas 上绘制 Canvas 是模糊的。我该如何解决?

c# - 如果集合发生变化,Listview 中的 Xamarin.Forms 动画将停止工作

ios - 由捏合和平移手势识别器同时触发的交互式 ViewController 转换

ios - Swift3 淡入/淡出或平滑过渡 UIImageView 动画图像

ios - 我的 iOS 应用程序关闭时如何保存 var?

ios - swift 4 "This class is not key value coding compliant"

swift - 无法转换为带符号的 16 位数组

xcode - 无法在 iPod touch 第 4 代上执行代码

javascript - 自定义.js :6 Uncaught TypeError: Cannot read property 'width' of null