自定义视图 - 无法调整 uiview 的子类大小



这一定是一件简单的事情,但我找不到线索,

我有一个图像视图并尝试一个涂鸦视图,它是它之上的 UIview 的一个子类以允许涂鸦。除了调整涂鸦视图的大小外,一切正常,它一直占据整个屏幕,我无法使其变小。

class ScribbleView: UIView
{
    let backgroundLayer1 = CAShapeLayer()
    required init()
    {
       // super.init(frame: CGRect.zero)
        super.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
        layer.addSublayer(backgroundLayer1)
        layer.masksToBounds = true
    }

class HermiteScribbleView: ScribbleView, Scribblable
{
    required init() {
        print ("calling parent")
        super.init()
    }
}
/**

主代码 **/

let hermiteScribbleView = HermiteScribbleView()
hermiteScribbleView.backgroundColor = .red
      //  imgView.autoresizesSubviews = true
      //  hermiteScribbleView.autoresizingMask = [.flexibleHeight, .flexibleWidth]

    //once this is done, hermieScribbleView is always stretched to full width and height no matter what I try
        imgView.addSubview(hermiteScribbleView)

我从上面的信息中猜测,您可能正在使用UIImageView框架来设置UIView的框架。 您需要将UIView的大小设置为与UIImage的大小相同。

  • imgImageView.image.size

其次,将UIView的中心设置为与UIImageView的中心相同。希望这会起作用。

最新更新