swift - 通过代码设置scrollview大小和位置

标签 swift ios8 xcode6

我在 Main.storyboard 中添加了一个 scrollView 并使其与 View 大小相同并将背景颜色设置为蓝色。 但是我在自动布局方面遇到了麻烦,所以我试图通过代码停用约束(成功)并使用 viewDidLoad() 中的以下代码设置框架位置和大小

NSLayoutConstraint.deactivateConstraints(self.view.constraints())

self.scrollView.frame = CGRectMake(0.0, 100.0, 200.0, 200.0)
self.scrollView.backgroundColor = (UIColor.redColor())

当我运行代码时,颜色变为红色(所以我得到了它,这很好)但是 scrollView 没有改变位置或大小。 执行此操作的正确语法是什么?

最佳答案

如果您在 viewDidLayoutSubviews() 中设置框架,这将起作用:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.scrollView.frame = CGRect(x: 0.0, y: 100.0, width: 200.0, height: 200.0)
}

在 viewDidLoad() 中尝试这样做是行不通的,因为此时 scrollView 还不在 View 层次结构中。

请注意,您只是在代码段中停用了 View 的约束,而不是其 subview 。这可能不是您想要的。

另请注意,我不赞成将此作为解决约束问题的方法。 ;-)

关于swift - 通过代码设置scrollview大小和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25370230/

相关文章:

iphone - 使用 GMSReverseGeocodeResponse 解析地址时出现错误 com.google.HTTPStatus 代码 400

Xcode 6 - Main.storyboard 仅显示为源代码,缺少 Interface Builder

xcode - 带有 Swift 的 Xcode 中的预处理器宏

ios - 应用程序安装失败,在模拟器上运行正常时,在设备上找不到代码签名

swift - 如何根据从 url 下载的图像设置表格单元格中 imageview 的动态高度

ios - swift ios 数据持久化 UIImage

ios - UISwitch - 检测动画结束

ios - 使用 presentViewController :animated:completion: in iOS 8 时 presentingViewController 为 nil

ios - 在 swift2 中,UIPageviewController 页面 curl 动画在快速滑动时挂起/卡住

ios - SWIFT:如何向 NSDate 对象添加小时数