16

電球のオンとオフを切り替えるためのリモートとして機能する iPhone アプリを開発しています。これを行うために UIButtons を使用しています。

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];

[button setBackgroundImage:bulb_on forState:UIControlStateSelected];
[button setBackgroundImage:bulb_off forState:UIControlStateNormal];

button.frame = CGRectMake(SPACING_LEFT + (BUTTON_SPACING * buttonNum) % (NUMBER_OF_HORIZONTAL_BUTTONS * BUTTON_SPACING), SPACING_TOP + y_padding, BUTTON_SIZE_X, BUTTON_SIZE_Y);

[self.scrollView addSubview:button];

少しのことを除いて、すべてが正常に機能しますが、それでも厄介な詳細は次のとおりです。

ボタン

ご覧のとおり、選択したボタンの左上隅に、ある種の青い「ボックス」または影があります。通常の状態のボタンにはそのようなものはありません。これは何に由来し、どのように取り除くことができますか?

4

3 に答える 3

18

UIButtonTypeRoundedRectあなたが作成したためだと思いますbuttonWithType:UIButtonTypeCustom

次のようにします。

UIButton *button = [[UIButton alloc]initWithFrame: CGRectMake(SPACING_LEFT + (BUTTON_SPACING * buttonNum) % (NUMBER_OF_HORIZONTAL_BUTTONS * BUTTON_SPACING), SPACING_TOP + y_padding, BUTTON_SIZE_X, BUTTON_SIZE_Y)];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];

[button setBackgroundImage:bulb_on forState:UIControlStateSelected];
[button setBackgroundImage:bulb_off forState:UIControlStateNormal];

[self.scrollView addSubview:button];
于 2013-09-20T18:02:40.457 に答える
7

デフォルトのボタン タイプは です。ボタンのタイプをSystemに変更しますCustom


修正するコード:

[UIButton buttonWithType:UIButtonTypeCustom];


修正するストーリーボード:

スクリーンショットを参照して、絵コンテで修正してください。

ここに画像の説明を入力

于 2015-08-06T14:51:20.557 に答える
5

プログラムでこれを試してください[UIButton buttonWithType:UIButtonTypeCustom];

于 2013-09-20T18:02:11.443 に答える