繁体   English   中英

Swift 将视图限制为已转换的其他视图

[英]Swift constrain view to other view that has been transformed

我有一个highlightView ,我想将其constraint为另一个view 这是我的 function:

func showHighlightView(viewToHighlight: UIView, height: CGFloat) {
    self.view.addSubview(highlightView)
    highlightView.heightAnchor.constraint(equalTo: viewToHighlight.heightAnchor).isActive = true
    highlightView.widthAnchor.constraint(equalTo: highlightView.heightAnchor).isActive = true
    
    highlightView.centerXAnchor.constraint(equalTo: viewToHighlight.centerXAnchor).isActive = true
    highlightView.centerYAnchor.constraint(equalTo: viewToHighlight.centerYAnchor).isActive = true
    highlightView.layer.cornerRadius = height/2

    highlightView.layer.add(self.scaleAnimation, forKey: "scale")

    self.view.bringSubviewToFront(viewToHighlight)
}

这适用于我的大多数情况。 但是我有一种view ,我是这样transform的:

var transformerBumbleBee = CGAffineTransform.identity
transformerBumbleBee = transformerBumbleBee.translatedBy(x: 25, y: -80)
transformerBumbleBee = transformerBumbleBee.scaledBy(x: 1, y: 1)
self.addListButton.transform = transformerBumbleBee

使用此addListButton ,我的showHightLightView()被限制为addListButtonidentity-constraint ,而不是transformed后的 . 有没有办法改变它?

transform不会将约束应用于其他视图,您需要通过更改约束的常量/乘数值来进行平移和缩放操作

转换不能与约束一起使用,如果您使用上面的代码,您可能会收到一些与约束相关的运行时警告。

使用任何一种方式,只需在视图中以编程方式将视图添加为子视图并应用转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM