1
私は質問があります。私は一般的にジェスチャーを使ってビューのサイズを変更する方法を知っていますが、私がしようとしているのは、ユーザーが2つの異なる方向に長方形のビューを拡大するようにすることです。私が長方形の幅を広げようとしているなら、私は左右につまみます。私は長さを上下にピンチを増やそうとしている場合。あなたは写真を手に入れます。ここまでは私のコードです。疑似コードを実際のコードに変換する方法がわかりません。ビューを2方向にサイズ変更しますか?
func axisFromPoints(p1: CGPoint, _ p2: CGPoint) -> String {
let x_1 = p1.x
let x_2 = p2.x
let y_1 = p1.y
let y_2 = p2.y
let absolutePoint = CGPoint(x: x_2 - x_1, y: y_2 - y_1)
let radians = atan2(Double(absolutePoint.x), Double(absolutePoint.y))
let absRad = fabs(radians)
if absRad > M_PI_4 && absRad < 3*M_PI_4 {
return "x"
} else {
return "y"
}
}
func handlePinch(_ sender : UIPinchGestureRecognizer) {
//var p1 = location(ofTouch 0,in:sender)
//var p2 = location of touch 1
//call function
// if function == 'x'
//view.transformed.scaledBy(x:sender.scale,y:1)
//if function == 'y'
//view.transformed.scaledBy(x:1,y:sender.scale)
if let view = sender.view {
view.transform = view.transform.scaledBy(x: sender.scale, y: sender.scale)
sender.scale = 1
}
}
https://github.com/zedoul/ZDStickerView。あなた自身のコントロールを書くのではなく、この1つを使用してください –