Ios 是否有人试图仅通过更改边界属性来拉伸绘图?
我试图理解ios 13书的内容模式段落: “如果调整视图的大小,系统可能只是拉伸或收缩或 如果contentMode设置指示,请重新定位缓存的图形 这样做很简单……我们将视图的高度增加了一倍,而不会导致 要调用的绘图(\)。结果是显示视图的绘图 在其正确高度的两倍处。” 以下是马特的代码:Ios 是否有人试图仅通过更改边界属性来拉伸绘图?,ios,swift,uiview,autolayout,uiviewcontentmode,Ios,Swift,Uiview,Autolayout,Uiviewcontentmode,我试图理解ios 13书的内容模式段落: “如果调整视图的大小,系统可能只是拉伸或收缩或 如果contentMode设置指示,请重新定位缓存的图形 这样做很简单……我们将视图的高度增加了一倍,而不会导致 要调用的绘图(\)。结果是显示视图的绘图 在其正确高度的两倍处。” 以下是马特的代码: import UIKit func delay(_ delay:Double, closure:@escaping ()->()) { let when = DispatchTime.now() +
import UIKit
func delay(_ delay:Double, closure:@escaping ()->()) {
let when = DispatchTime.now() + delay
DispatchQueue.main.asyncAfter(deadline: when, execute: closure)
}
class ViewController : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let mv = MyView()
self.view.addSubview(mv)
var c = NSLayoutConstraint.constraints(withVisualFormat:"V:[v(150)]", metrics: nil, views: ["v":mv])
mv.translatesAutoresizingMaskIntoConstraints = false
mv.superview!.addConstraints(
NSLayoutConstraint.constraints(withVisualFormat:"H:|-25-[v]-25-|", metrics: nil, views: ["v":mv])
)
mv.superview!.addConstraints(
c
)
mv.superview!.addConstraint(
NSLayoutConstraint(item: mv, attribute: .centerY, relatedBy: .equal, toItem: mv.superview, attribute: .centerY, multiplier: 1, constant: 0)
)
delay(0.1) {
mv.bounds.size.height *= 2
}
}
}
这本书说,结果应该与之相比较,但这并没有发生。即使我显式地将contentMode设置为scaleToFill。我失去了什么?我错在哪里