
UISize::getWidth 메서드는 뷰의 실제 너비를 반환합니다. 뷰의 실제 너비는 뷰가 화면에 표시되는 너비를 의미합니다.
화면의 Orientation이 변경되어도 getWidth 메서드를 다시 호출해야 합니다. 왜냐하면 뷰의 실제 너비는 화면의 Orientation에 따라 달라질 수 있기 때문입니다.
예를 들어, Landscape 모드에서 뷰의 너비가 800pt 인 경우, Portrait 모드에서 뷰의 너비는 600pt로 변경될 수 있습니다. 따라서 Orientation이 변경될 때마다 getWidth 메서드를 호출하여 뷰의 실제 너비를 업데이트해야 합니다.
아래는 getWidth 메서드를 사용하여 뷰의 너비를 가져오는 예제입니다.
#hostingforum.kr
swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view.backgroundColor = .red
view.translatesAutoresizingMaskIntoConstraints = false
view.widthAnchor.constraint(equalToConstant: 100).isActive = true
view.heightAnchor.constraint(equalToConstant: 100).isActive = true
view.addSubview(view)
print("getWidth: (view.widthAnchor.width)")
// Orientation이 변경될 때 getWidth 메서드를 다시 호출합니다.
NotificationCenter.default.addObserver(self, selector: #selector(orientationChanged), name: UIDevice.orientationDidChangeNotification, object: nil)
}
@objc func orientationChanged() {
print("getWidth after orientation changed: (view.widthAnchor.width)")
}
}
위 예제에서는 getWidth 메서드를 사용하여 뷰의 너비를 가져오고, Orientation이 변경될 때마다 getWidth 메서드를 다시 호출하여 뷰의 실제 너비를 업데이트합니다.
2025-07-08 18:40