我正在寻找一些解决方案,以便在加载视图之前获取按钮的大小。我想制作按钮,所以我试试这个
-(void) viewWillAppear:(BOOL)animated{
CGSize loopButtonSize= _loopButton.frame.size;
_loopButton.layer.cornerRadius=loopButtonSize.height/2.0f;
NSLog(@"viewWillAppear button height: %f", loopButtonSize.height);
}
但这显示错误的按钮大小(1000而不是例如43)我的按钮具有动态更改大小,因此我不能使用常量大小值。
这适用于我,但它在视图加载后更改按钮形状。因此,如果我使用动画加载然后第二个出现方形按钮,然后更改为圆形。
-(void)viewDidAppear:(BOOL)animated{
CGSize loopButtonSize= _loopButton.frame.size;
_loopButton.layer.cornerRadius=loopButtonSize.height/2.0f;
NSLog(@"viewDidAppear button height: %f", loopButtonSize.height);
}
任何想法如何正确使用?
答案 0 :(得分:1)
编写代码以在viewDidLayoutSubviews方法中围绕按钮,因为它在视图布局后立即调用,您将使按钮正确舍入。
答案 1 :(得分:1)
将该代码放入viewDidLayoutSubviews
方法。