
UIDrawMatrix::translate 메소드는 뷰의 좌표계를 변환하여 뷰를 이동시킵니다.
뷰의 좌표계를 설정하려면, 뷰의 원래 위치를 0, 0으로 설정하고, 화면의 왼쪽 위를 0, 0으로 설정합니다.
이후 translate 메소드를 사용하여 뷰를 화면의 왼쪽 위로 이동시키려면, x = 0, y = 0을 파라미터로 전달합니다.
translate 메소드의 파라미터 x, y의 단위는 뷰의 좌표계의 단위입니다.
뷰의 위치를 변경하는 것과 뷰의 크기를 변경하는 것은 다릅니다.
뷰의 크기를 변경하려면, 뷰의 원래 크기를 0, 0으로 설정하고, 새로운 크기를 전달하여 scale 메소드를 사용합니다.
뷰의 위치를 변경하려면, translate 메소드를 사용하여 뷰의 좌표계를 변환합니다.
예를 들어, 뷰의 크기를 100x100으로 변경하고, 이동한 후 다시 translate 메소드를 사용하여 뷰의 위치를 변경하는 것은 가능합니다.
뷰의 크기를 변경한 후 translate 메소드를 사용하여 뷰의 위치를 변경하면, 뷰의 크기는 원래 크기로 돌아가고, 뷰의 위치는 새로운 위치로 변경됩니다.
예제 코드:
#hostingforum.kr
swift
// 뷰의 원래 크기와 위치 설정
let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
// 뷰의 크기를 100x100으로 변경
let scaleMatrix = CGAffineTransform(scaleX: 2, y: 2)
view.transform = scaleMatrix
// 뷰의 위치를 화면의 왼쪽 위로 이동
let translateMatrix = CGAffineTransform(translationX: 0, y: 0)
view.transform = translateMatrix * view.transform
// 뷰의 위치를 화면의 오른쪽 아래로 이동
let translateMatrix2 = CGAffineTransform(translationX: 100, y: 100)
view.transform = translateMatrix2 * view.transform
2025-03-03 14:12