所以我可能错过了一些明显的东西,但是我无法在我的
中创建一个正确的UIButton维度 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
功能:
callerPlayerBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[callerPlayerBtn setImage:[UIImage imageNamed:@"callPlayerBtn"] forState:UIControlStateNormal];
[self.view addSubview:callerPlayerBtn];
NSLog(@"SIZES ARE %f %f", callerPlayerBtn.bounds.size.width, callerPlayerBtn.bounds.size.height);
我做错了什么?日志始终为0
。我想访问它的维度来集中它。
感谢
答案 0 :(得分:5)
我发现您使用buttonWithType:
方法创建按钮,而不是使用nib。
如果你这样做,你需要自己设置框架。
callerPlayerBtn.frame = CGRectMake(originx, originy, width, height);
对于宽度和高度,您可以使用图像的大小来显示按钮。
答案 1 :(得分:1)
您应该设置按钮的框架也等于图像宽度&高度,如果您希望按钮的大小与图像相同,或者您也可以设置自定义自定义大小
[callerPlayerBtn setFrame:CGRectMake(x,y,buttonImage.size.width,buttonImage.size.height)];
答案 2 :(得分:0)
设置按钮的框架如下:
UIButton * callerPlayerBtn = [UIButton buttonWithType:UIButtonTypeCustom];
callerPlayerBtn.frame = CGRectMake(60, 10, 220, 25); //here we are setting frame
[callerPlayerBtn setImage:[UIImage imageNamed:@"callPlayerBtn"] forState:UIControlStateNormal];
[self.view addSubview:callerPlayerBtn];
NSLog(@"SIZES ARE %f %f", callerPlayerBtn.bounds.size.width, callerPlayerBtn.bounds.size.height);
日志值将是:
2013-03-12 20:02:30.394 SampleProject[591:16a03] SIZES ARE 220.000000 25.000000