当我移动视图的框架时,它不会移动:为什么?

时间:2015-04-30 10:14:42

标签: ios swift

我正试图将一个条(以及其他东西)固定在屏幕的底部。代码是:

    var screen = UIScreen.mainScreen()
    var bottom_view = view.viewWithTag(bottom_panel_tag)!
    var pad = bottom_view.frame.minX // is 0
    var screen_h = screen.bounds.maxY
    var screen_w = screen.bounds.maxX

    var b = CGRectMake( pad, screen_h - ( pad + bottom_view.frame.height ), screen_w - 2*pad, bottom_view.frame.height )
    bottom_view.frame = b
    bottom_view.setNeedsDisplay()

这在viewDidLoad中调用,我已经在调试器中调试它,所以我知道它运行。视图不移动(或任何其他我改变)。没有限制。我做错了什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

self.view.removeConstraints(self.view.constraints())
bottom_view.setTranslatesAutoresizingMaskIntoConstraints(true)

在更改框架之前在viewDidLoad()添加此行。

  

说明:即使您没有添加任何Autolayout约束,它也会   如果使用Storyboard&创建视图,则在运行时添加如果你不这样做   想要使用此解决方案,那么您应该以编程方式创建视图   然后它将仅使用您的代码更改框架。