我正在编写应用程序,我想知道当同一行中的总宽度超过设备宽度时,如何将视图锚定到上一个视图的底部而不是右侧。
基本上是这样的:
View 1: width=150 anchor to superview's leftAnchor
View 2: width=500 anchor to view1's rightAnchor
View 3: width=1000 anchor to view1's bottomAnchor because total width in same row
exceeds device width
#device width=1200
感谢任何帮助。对不起英语不好,不是母语。
聚苯乙烯。所有高度都相同,宽度是动态的
答案 0 :(得分:0)
主要的挑战是,在我们的观点被限制之前,我无法知道观点的宽度。
所以我使用了迅速的估计。
let size = CGSize(width: UIScreen.main.bounds.width, height: 50)
let attributeHeight = [NSFontAttributeName: UIFont.preferredFont(forTextStyle: .subheadline)]
let estimatedHeight = NSString(string: _title).boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: attributeHeight, context: nil)
self._estimatedWidth = estimatedHeight.width + 32
之后很容易根据我的需要用for循环来锚定它们