0

だから私はおそらく明らかな何かを見逃していますが、私の中で作成された 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. その寸法にアクセスして中央に配置したいと思います。ありがとう

4

3 に答える 3

5

buttonWithType:nibではなくメソッドでボタンを作成しているようです。

その場合は、フレームを自分で設定する必要があります。

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

幅と高さについては、ボタンの画像のサイズを使用できます。

于 2013-03-12T14:31:48.143 に答える
1

ボタンのサイズを画像と同じにする場合は、ボタンのフレームも画像の幅と高さに等しく設定する必要があります。または、カスタムカスタムサイズも設定できます。

[callerPlayerBtn setFrame:CGRectMake(x,y,buttonImage.size.width,buttonImage.size.height)];
于 2013-03-12T14:32:42.623 に答える
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
于 2013-03-12T14:33:16.273 に答える