【发布时间】:2018-02-23 13:19:37
【问题描述】:
我正在尝试在超级视图的本地坐标中获取视图的坐标。因此,根据文档,如果 view 为 nil,则此方法将改为转换为窗口基坐标。所以就我而言,它什么也没做,但如果我将视图传递给它,它就可以工作。
let zoomImageView = UIImageView()
let xoomImageView2 = UIImageView()
let xoomImageView3 = UIImageView()
let stratingFrame2 = CGRect(x: 20, y: 10, width: 150, height: 130)
let startingFrame1 = CGRect(x: 40, y: 20, width: 200, height: 160)
let startingFrame = CGRect(x: 0, y: 200, width:375, height: 200)
override func viewDidLoad() {
super.viewDidLoad()
xoomImageView3.frame = stratingFrame2
xoomImageView3.backgroundColor = UIColor.purple
xoomImageView2.frame = startingFrame1
xoomImageView2.backgroundColor = UIColor.black
zoomImageView.frame = startingFrame
zoomImageView.backgroundColor = UIColor.red
zoomImageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(animate)))
zoomImageView.isUserInteractionEnabled = true
// zoomImageView.image = UIImage(named: "zuckdog")
zoomImageView.contentMode = .scaleAspectFill
zoomImageView.clipsToBounds = true
view.addSubview(zoomImageView)
zoomImageView.addSubview(xoomImageView2)
xoomImageView2.addSubview(xoomImageView3)
print(zoomImageView.frame)
print(xoomImageView2.frame)
print(xoomImageView3.frame)
let newFrame = zoomImageView.convert(xoomImageView3.frame, to: nil)
print(newFrame)
也许有人能说出发生了什么?
【问题讨论】:
标签: ios swift coordinate-systems