2017-10-10 1 views
1

이미지 뷰의 동적 x, y 위치를 가져와야합니다. 나는이동적으로 이미지 뷰 위치 가져 오기

self.imgView.bounds.origin.y에게

나는 모든 시간을 0.0 얻고

self.imgView.frame.origin.x

을 시도했습니다.

어떻게받을 수 있습니까?

감사

+0

스토리 보드에 이미지 뷰를 표시하십시오. 스토리 보드에서 (0,0)의 이미지 뷰를 추가 했습니까? –

+0

"동적"이란 무엇입니까? – kirander

+0

UIImage 포지션이 필요하다고 생각하십니까? –

답변

1

에 맞게해야하십시오 (0 , 0) 항상 (뷰의 원점을 기준으로) 뷰 자체의 좌표계이기 때문에

frame.origin이 좌표계에 있습니다 그것의 수퍼 뷰가 0,0이면 그 원점이 수퍼 뷰의 원점에있을 수도 있습니다.

아마도 화면과 관련하여 원점을 알고 싶습니까? 경계는 항상 0의 x와 y를 반환합니다

let posInWindow = v.convert(v.bounds.origin, to: nil) 
+1

감사합니다 !!! 알 겠어 :) – user12346

0

swift3UIImageVIew 이 코드에서 RECT 얻을 코드 아래 사용하고 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 
} 
0

, 그렇다면, 당신은 프레임을 사용하고 싶습니다. 귀하의 예에서이 값들은 정확할 수 있습니까? view의 가운데에 imageView를 추가하고 다음을 기록하십시오.

self.imgView.frame.origin.x 
self.imgView.frame.origin.y 
관련 문제