有没有人试图仅通过更改bounds属性来拉伸图形?

问题描述

我正在尝试了解ios 13书的“内容模式”段落:

”如果调整了视图的大小,则系统可能会简单地拉伸或缩小或 如果您的contentMode设置指示重新定位缓存的图形 这样做....我们将视图的高度加倍而不引起 draw(_ :)被调用。结果是出现了视图的图形 以其正确高度的两倍。”

这是马特的代码

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-|",views: ["v":mv])
    )
    mv.superview!.addConstraints(
       c
    )
    mv.superview!.addConstraint(
        NSLayoutConstraint(item: mv,attribute: .centerY,relatedBy: .equal,toItem: mv.superview,multiplier: 1,constant: 0)
    )
    delay(0.1) {
        mv.bounds.size.height *= 2
    }
  }
}

书中说与

enter image description here

相比,结果应该是

enter image description here

,但这不会发生。即使我明确地将 contentMode 设置为scaletoFill。我输了什么?我在哪里错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)