【发布时间】:2026-01-09 10:00:01
【问题描述】:
我正在寻找一些解决方案,如何在加载视图之前获取按钮的大小。我想让按钮变圆,所以我试试这个
-(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);
}
任何想法如何正确地制作它?
【问题讨论】:
标签: ios objective-c uiview viewdidappear