ios - 在屏幕上的随机位置显示标签

标签 ios swift

我试图让这个标签在按下按钮时以随机大小出现在屏幕的随机区域。

感谢任何指导。

这是我目前所拥有的:

@IBAction func Button(sender: AnyObject) {

        //random x and y value
        var xValue = CGFloat(arc4random() % 50)
        var yValue = CGFloat(arc4random() % 20)

        //random sizes
        var xSize = CGFloat(arc4random_uniform(150) + 60)
        var ySize = CGFloat(arc4random_uniform(150) + 60)
        Label.text = faces.RandomFace()
        Label.frame = CGRectMake(xValue, yValue, xSize, ySize)
}

最佳答案

您可能正在使用自动布局。使用自动布局,您无法更改 View 的框架并使其正常工作。通常,约束会覆盖您所做的更改,并且什么也不会发生。

相反,请执行以下操作:

创建水平位置约束(基于前缘)和垂直位置约束(基于顶部布局指南。)

创建高度和宽度约束。

按住 Control 键并将所有 4 个约束拖动到 View Controller 代码的顶部,为约束创建导出。

然后只需将更改应用于约束的常量属性,并在按钮的 super View 上(或在 View Controller 的内容 View 上 - 这也应该有效)调用layoutIfNeeded。

关于ios - 在屏幕上的随机位置显示标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30834554/

相关文章:

ios - 有没有2 channel 16bit的CVPixelBuffer类型?

ios - 生成特定尺寸的 View 图像?

javascript - WebKit 用户内容 Controller :didReceiveScriptMessage: not getting called for iOS 13

ios - 之间具有透明距离的 Tableview 单元格

ios - iOS 界面生成器中的 float 布局?

ios - 如何摆脱 Swift 字符串中的 "non-breaking space"?

ios - 按钮在旋转时消失

ios - 如何在 iOS 中刷新页脚 View ?

swift - 如何通过触摸关闭键盘?触摸开始不起作用

快速播放图库中的视频