我正在尝试获得一个不错的圆形UIView。显而易见的方法是将view.layer.cornerRadius
设置为宽度/高度的一半(当然考虑到正方形)。效果很好,但“为时已晚”。我希望在显示视图控制器时正确显示我的视图,但是,如果我尝试在viewWillAppear
中设置拐角半径,则该值仍不正确(因为它取决于屏幕尺寸)并且边框不是圆形(请参见屏幕截图)。如果我在viewDidAppear
中设置了拐角半径,则该值是正确的,但仅在实际显示视图之后才设置,这意味着在演示动画期间它看起来“不好”。有没有一种方法/方法可以在显示实际上之前获得正确的值?呈现视图控制器时通过向上滑动,必须在实际开始动画之前就已经计算出组件的大小,这是什么时候?
以下屏幕截图显示了在viewWillAppear
中设置拐角半径时的结果。我已经在IB的iPhone 8模式下设计了视图,并使用了iPhone 8+模拟器,因此屏幕更大。在应用约束之前,拐角半径对应于IB中的“原始”大小。