Не могу создать UIButton - PullRequest
0 голосов
/ 28 ноября 2011

Я пытаюсь создать кнопку программно и сделать ее видимой.Вот что я делаю:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.view bringSubviewToFront:button]; 

И ничего.Это не видно.Что я делаю не так?

Ответы [ 7 ]

1 голос
/ 28 ноября 2011

Когда вы делаете это:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

Вы создаете кнопку размером 100x100, но еще не добавляете ее в представление. Затем, когда вы делаете это:

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

вы создаете новую кнопку размером 0x0 и по-прежнему не добавляете ее в представление; первая кнопка останется в памяти навсегда. Затем, когда вы делаете это:

[self.view bringSubviewToFront:button]; 

вы говорите представлению перенести новую кнопку в переднюю часть представления, но ее пока нет на экране. То, что вы действительно хотели сделать, это:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(100, 100, 100, 100);
[self.view addSubview:button];

Это создает кнопку, устанавливает ее рамку, а затем добавляет ее к вашему виду.

1 голос
/ 28 ноября 2011

вам нужно добавить кнопку в представление.

[self.view addSubview:button];
0 голосов
/ 28 ноября 2011

Добавьте кнопку, используя

[self.view addsubview:button];
0 голосов
/ 28 ноября 2011

Есть несколько вещей не так.Прежде всего, вы создаете две кнопки.Вы создаете один в первой строке, а затем создаете другой во второй строке.Кроме того, вам нужно добавить кнопку к вашему виду:

[self.view addSubview:button];
0 голосов
/ 28 ноября 2011

Вы никогда не прикрепляете кнопку к основному виду. Я думаю, вы путаете bringSubviewToFront: с addSubview.

[self.view addSubview:button];
0 голосов
/ 28 ноября 2011

добавить

 [self.view addSubview: button];

после второй строки.

Кроме того, вы создаете 2 кнопки - обе ваши первые две строки создают кнопку.Выберите один!

0 голосов
/ 28 ноября 2011

Вместо этого следует использовать [self.view addSubview:button]; - это поможет. Кроме того, вы присваиваете *button дважды, поэтому первый (тот, что с рамкой) будет игнорироваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...