Подтвердить что ты не робот

"Синяя коробка" появляется рядом с пользовательским UIButton в приложении iOS

Я разрабатываю приложение для 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];

Все работает отлично, за исключением небольшой, но все еще раздражающей детали:

buttons

Как вы можете видеть, в левом верхнем углу выбранной кнопки есть какой-то синий "ящик" или тень. Кнопка в нормальном состоянии не имеет такой вещи. Что это может произойти и как его удалить?

4b9b3361

Ответ 1

Я думаю, это потому, что вы создали UIButtonTypeRoundedRect не a 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];

Ответ 2

Попробуйте это программно [UIButton buttonWithType:UIButtonTypeCustom];

Ответ 3

По умолчанию тип кнопки System, измените тип кнопки на Custom.


Код для исправления:

[UIButton buttonWithType:UIButtonTypeCustom];


Раскадровка для исправления:

Обратите внимание на скриншот, чтобы зафиксировать в таблице.

введите описание изображения здесь