0

UIButton クラスに次のメソッドがあります。

- (id)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
    // Initialization code

    self.titleLabel.font = [UIFont fontWithName:@"Chalkduster" size:16];
    self.titleLabel.lineBreakMode = UILineBreakModeWordWrap;

    self.titleLabel.textColor = [UIColor greenColor];

}
return self;
}

ボタンの周りの境界線が見えないことを除いて、うまく機能します:理由は何ですか? ボタンの境界線を表示するには、さらに何をする必要がありますか?

ありがとうございました

4

1 に答える 1

1

ボタンをサブクラス化しないでください IB ですべてを行います。これがあなたが望むものを達成する方法です:

ボタンを選択-> Attributes Inspector -> Type -> Rounded Rectを選択します。これにより、デフォルトのボタンの外観が得られます。

次に、次のようにフォントを選択します ( T文字を押します)。

スクリーンショット

また、フォントの背後にあるテキストの色を選択します。

結果:

スクリーンショット 2

編集:

プログラムでボタンを作成します。

//create the button with RoundedRect type
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

//set the position of the button
button.frame = CGRectMake(100, 150, 100, 30);

//set the button's title
[button setTitle:@"Click Me!" forState:UIControlStateNormal];

//set the button's font
button.titleLabel.font = [UIFont fontWithName:@"Chalkduster" size:16];

//set the button's line break mode
button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;

//set the button's text color
[button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
//button.titleLabel.textColor = [UIColor greenColor]; // don't use this because button's text color after clicking it will be blue (default).

//add the button to the view
[self.view addSubview:button];

結果:

スクリーンショット 3

注:textColorボタンをクリックした後のテキストの色はデフォルトの青色になるため、使用しないでください。

于 2012-06-25T21:02:46.813 に答える