
UIWindow::setTitle이 호출된 후 리플로우가 발생하는 시점은 UIKit의 내부 로직에 따라 다르지만, 일반적으로 setTitle이 호출된 후에 다음 이벤트나 메소드가 호출되는 시점에 리플로우가 발생합니다.
- touchesBegan
- touchesMoved
- touchesEnded
- layoutSubviews
- setNeedsLayout
- setNeedsDisplay
이러한 메소드 중 하나가 호출되기 전에 setTitle이 호출된 경우, 리플로우는 해당 메소드가 호출되는 시점에 발생합니다.
clearColor로 리플로우를 강제할 수 있는 방법은 다음과 같습니다.
- UIWindow의 layer를 직접 접근하여 layoutSublayersOfGroup를 호출하는 방법
- UIWindow의 setNeedsLayout을 호출하는 방법
- UIWindow의 layoutSubviews를 직접 호출하는 방법
다음은 예제입니다.
#hostingforum.kr
swift
// 1. layer 접근하여 layoutSublayersOfGroup 호출
window.layer.layoutSublayersOfGroup(window.layer)
// 2. setNeedsLayout 호출
window.setNeedsLayout()
// 3. layoutSubviews 직접 호출
window.layoutSubviews()
2025-03-04 18:00