ios - viewDidLayoutSubviews 中的 UIScrollview 框架不正确

标签 ios swift xcode uiscrollview autolayout

我正在使用 Xcode7.3.1。我的 ViewController 包含如下结构 UIScrollview->UIView->UIScrollview.我正在为这些 View 使用自动布局。我试图在 viewDidLayoutSubviews 中打印我的内部 ScrollView 框架,但我没有得到准确的框架。在 xib 中,viewController 的一部分没有显示任何自动布局错误。 请帮我解决这个问题?

最佳答案

我意识到这是一个相当古老的问题,但我刚刚遇到这个问题并找到了一个(hacky)解决方案。这似乎是 SDK 中的错误。发生的情况是 ScrollView 的内容没有像您期望的那样在 viewDidLayoutSubviews 之前进行布局。所以我的解决方案是强制它。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    scrollView.setNeedsLayout()
    scrollView.layoutIfNeeded()
    // now scroll view content should laid out as expected
}

关于ios - viewDidLayoutSubviews 中的 UIScrollview 框架不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40669311/

相关文章:

ios - UIScrollView -setContentInset 不工作

IOS:iPad 上的 AlertView 和键盘问题

ios - Swift 4 添加手势 : override vs @objc

swift - 合并两个字典的通用函数

ios - AVAssetExportSession 后保存到相册的视频没有声音

ios - 手势抛出无法识别的选择器错误

ios - View 在 iOS 中旋转需要多长时间?

ios - 无法在手机上运行 swift 项目。 dyld : Library not loaded: @rpath/libswiftCore. 动态库

ios - NSInteger 到 NSString 被误解

iphone - 为动态创建的 UIView 设置动画