滚动视图错误以编程方式自动布局
Posted
技术标签:
【中文标题】滚动视图错误以编程方式自动布局【英文标题】:Auto Layout Programmatically with Scroll View Error 【发布时间】:2016-06-24 22:27:56 【问题描述】:我试图在 ViewController 内的 paging-scrollView 中添加一个视图,但我遇到了很多自动布局问题(所有这些代码都是程序化的,非 Storyboard)。
第一组约束正常工作,但第二组(sv
和firstView
)导致以下错误:libc++abi.dylib: terminating with uncaught exception of type NSException
非常感谢您对此问题的任何帮助,代码如下:
override func viewDidLoad()
super.viewDidLoad()
view.backgroundColor = .whiteColor()
sv.backgroundColor = .redColor()
view.addSubview(sv)
sv.translatesAutoresizingMaskIntoConstraints = false
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[sv]|", options: .DirectionLeadingToTrailing, metrics: nil, views: ["sv": sv]))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[sv]|", options: .DirectionLeadingToTrailing, metrics: nil, views: ["sv": sv]))
sv.pagingEnabled = true
let firstView = UIView()
firstView.backgroundColor = .greenColor()
sv.addSubview(firstView)
firstView.translatesAutoresizingMaskIntoConstraints = false
sv.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[f]|", options: .DirectionLeadingToTrailing, metrics: nil, views: ["fv": firstView]))
sv.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[fv]|", options: .DirectionLeadingToTrailing, metrics: nil, views: ["fv": firstView]))
【问题讨论】:
在您的一种视觉格式中使用“[f]”而不是“[fv]” 哇,就是这样!非常感谢。令人惊讶的是调试不能告诉我... 【参考方案1】:正如@dan 指出的那样,视觉格式的字符串中有错字。我会留下这篇文章,以防有人碰巧遇到类似的问题。要点:
terminating with uncaught exception of type NSException
带有自动布局可能是由视觉字符串中的拼写错误引起的。
【讨论】:
以上是关于滚动视图错误以编程方式自动布局的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式布局 UIScrollView,并为其子视图添加了自动布局,但它不滚动