有没有一种方法来更新框架(Swift)

是否有可能像界面生成器中更新框架,但编程? 我的一些对象由于animation(我想要修复,我猜…),但它让人想起前面提到的问题

编辑:我做了一些谷歌search以及在stackoverflow上找不到我在找什么。 我想更新一些button的框架回到我在界面生成器中设置的约束。 对不起,如果这是一个简单的问题,但我只是寻找一个简单的答案:是或否+代码行或方法调用。 它可能甚至不会在我最后的项目中结束; 我只是好奇。

这里有一些代码,因为我想这将有助于:

@IBAction func optionsButtonPushed(sender: AnyObject) { UIView.animateWithDuration(2, animations: { var theFrame = self.optionsMenu.frame theFrame.size.height += 100 self.optionsMenu.frame = theFrame }) } 

位于我滚动的视图中的button(从零的高度)因为animation而消失,我猜,所以可能有比我想象的更好的方法(对不起,这个问题太疯狂了,这是我的第一个一!)

您可以禁用自动布局。 从故事板。 如果你仍然想使用AutoLayout,那么使用-viewDidLayoutSubviews方法。

 self.yourButton.translatesAutoresizingMaskIntoConstraints = YES; self.yourButton.frame = CGRectMake(16, 133, 130, 130); 

UIView有一个叫做CGRecttypes的CGRectCGRect是一个结构体。

您可以通过创build一个新的CGRect并将其分配给属性来更新它。

 CGRect newFrame = CGRect(x:0, y:0, width:100, height:100) yourView.frame = newFrame 

UIView文档