【发布时间】:2020-06-06 17:45:34
【问题描述】:
是否可以平移位于另一个对象后面的对象? 目前我有一个图像视图和一个颜色清晰的视图,只有一个边框,我可以看到图像视图。我想实现带边框的视图始终位于顶部。通过视图我想用平移手势平移图像视图。
【问题讨论】:
标签: ios swift xcode uiview uiimage
是否可以平移位于另一个对象后面的对象? 目前我有一个图像视图和一个颜色清晰的视图,只有一个边框,我可以看到图像视图。我想实现带边框的视图始终位于顶部。通过视图我想用平移手势平移图像视图。
【问题讨论】:
标签: ios swift xcode uiview uiimage
您可以将平移手势添加到视图并将转换应用到 imageView。
var translation = panGesture.translationInView(imageView)
panGesture.setTranslation(CGPointZero, inView: imageView)
【讨论】:
只需将 isUserInteractionEnabled 设置为 false 即可获得上视图。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let bottomView = UIView.init(frame: .init(x: 100, y: 100, width: 300, height: 300))
bottomView.backgroundColor = .yellow
let upperView = UIView.init(frame: .init(x: 100, y: 100, width: 300, height: 300))
upperView.backgroundColor = .clear
upperView.layer.borderWidth = 1
upperView.layer.borderColor = UIColor.red.cgColor
upperView.isUserInteractionEnabled = false //<------------
view.addSubview(bottomView)
view.addSubview(upperView)
bottomView.addGestureRecognizer(UIPanGestureRecognizer.init(target: self, action: #selector(handle)))
}
@objc func handle() {
print("handletapgesture")
}
}
【讨论】: