2013-03-12 3 views
0

Так что я, вероятно, отсутствует что-то очевидное, но я не могу получить правильные размеры UIButton, созданные в моем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. Я хотел бы получить доступ к его измерению, чтобы сосредоточить его. Thanks

ответ

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); 

значение Log будет:

2013-03-12 20:02:30.394 SampleProject[591:16a03] SIZES ARE 220.000000 25.000000 
+0

Хороший ответ +1. – 2013-03-12 14:38:49

5

Я вижу, что вы создаете свою кнопку с помощью метода buttonWithType:, а не с наконечником.

Если вы это сделаете, вам необходимо установить рамку самостоятельно.

callerPlayerBtn.frame = CGRectMake(originx, originy, width, height); 

для ширины и высоты вы можете использовать размер изображения для кнопки.

1

Вы должны установить рамку кнопки также равную ширину изображений & высоту, если вы хотите, чтобы кнопка быть равной по размеру изображения, или вы можете установить пользовательские пользовательский размер также

[callerPlayerBtn setFrame:CGRectMake(x,y,buttonImage.size.width,buttonImage.size.height)]; 
Смежные вопросы