画像ビューの動的なx、y位置を取得する必要があります。 私は0.0のすべての時間を取得しています。この画像ビューの位置を動的に取得
self.imgView.bounds.origin.y
と
self.imgView.frame.origin.x
を試してみました。
どうすれば入手できますか?
おかげ
画像ビューの動的なx、y位置を取得する必要があります。 私は0.0のすべての時間を取得しています。この画像ビューの位置を動的に取得
self.imgView.bounds.origin.y
と
self.imgView.frame.origin.x
を試してみました。
どうすれば入手できますか?
おかげ
をフィット(0 、0)は、ビュー自体の座標系(原点を基準とする)であるため、常に表示されます。
frame.originは座標系にありますそれが0,0の場合は、その起源がスーパービューの起源である可能性があります。
多分、あなたは画面に関する原点を知りたいでしょうか?その場合、
let posInWindow = v.convert(v.bounds.origin, to: nil)
ありがとうございます!私はこれを得た :) – user12346
swift3にUIImageVIew
で矩形を取得するためのコードの下にこのコードを使用して、あなたのImageViewContentModeはアスペクトである必要がありますが、任意のビューのbounds.originがあるべき
func calculateRectOfImageInImageView(imageView: UIImageView) -> CGRect {
let imageViewSize = imageView.frame.size
let imgSize = imageView.image?.size
guard let imageSize = imgSize, imgSize != nil else {
return CGRect.zero
}
let scaleWidth = imageViewSize.width/imageSize.width
let scaleHeight = imageViewSize.height/imageSize.height
let aspect = fmin(scaleWidth, scaleHeight)
var imageRect = CGRect(x: 0, y: 0, width: imageSize.width * aspect, height: imageSize.height * aspect)
// Center image
imageRect.origin.x = (imageViewSize.width - imageRect.size.width)/2
imageRect.origin.y = (imageViewSize.height - imageRect.size.height)/2
// Add imageView offset
imageRect.origin.x += imageView.frame.origin.x
imageRect.origin.y += imageView.frame.origin.y
return imageRect
}
境界は常にxとyを0に戻します。フレームを使用します。あなたの例では、これらの値は正しいかもしれませんか?ビューの中央にimageViewを追加して、次のログに記録してみてください。
self.imgView.frame.origin.x
self.imgView.frame.origin.y
ストーリーボードで画像ビューを表示してください。あなたはストーリーボードで(0,0)からのimageviewを追加しましたか? –
「ダイナミック」の意味は? – kirander
UIImageポジションが必要だと思いますか? –