0

私はこれを行うことができることを知っています:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(x, y, width, height);
    [button setTitle:text forState:UIControlStateNormal];
    [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
    button.backgroundColor = [UIColor clearColor];

しかし、それはボタンの周りに境界線を残します.

私もこれを行うことができます:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(x, y, width, height);
    [button setTitle:text forState:UIControlStateNormal];
    [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

次に、ボタンの後ろに UILabel を配置します。

2 つのオブジェクトを必要とせずにこれを達成する方法はありますか?

更新: 私の質問を明確にするために: 押すとメソッド呼び出しを実行するテキストのみが必要です。説明が複雑な理由により、ボタンを使用してこれを行う必要があります。では、ボタンのテキストをボタンの唯一の可視部分にする方法を教えてください。境界はない。背景なし。ただのテキスト。

4

4 に答える 4

4
    UIButton *btnLikeUserCount = [[[UIButton alloc] init] autorelease];
    [btnLikeUserCount.titleLabel setFont:[UIFont boldSystemFontOfSize:12]];
    btnLikeUserCount.frame = CGRectMake(posx,posy,width,height);
    [btnLikeUserCount setTitle:text forState:UIControlStateNormal];
    [btnLikeUserCount setTitleColor:[UIColor colorWithRed:50/255.0 green:79/255.0 blue:133/255.0 alpha:1.0] forState:UIControlStateNormal];
    [btnLikeUserCount addTarget:self action:@selector(btnLikeUserCountClick:) forControlEvents:UIControlEventTouchUpInside];

ラベル オブジェクトを取得する必要はありません。

于 2013-03-28T05:57:53.993 に答える
2

あなたが望むものを正確に得ることはできませんが[self.view addSubview:button]、あなたのコードで見逃されている可能性があります. したがって、ボタンをテキストで表示することはできません

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(x, y, width, height);
    [button setTitle:text forState:UIControlStateNormal];
    [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
于 2013-03-28T06:03:27.040 に答える
0

2 番目のコードは正常に動作しています。下の画像では、hello はボタンです。 ここに画像の説明を入力

私のコードは次のとおりです。

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(110, 100, 100, 50);
[button setTitle:@"Hello" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
于 2013-03-28T06:03:55.087 に答える
0

このようにして、これを行うことができます

 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
 button.frame = CGRectMake(100, 400, 100, 50);
 [button setTitle:@"Button text" forState:UIControlStateNormal];
 [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
 [button.layer setBorderColor: [UIColor clearColor]];
 [button.layer setBorderWidth: 0.0];
 [self.view addSubview:button];
于 2013-03-28T06:41:30.433 に答える