Ошибка при попытке создать вид с помощью 2 кнопок UIB - PullRequest
0 голосов
/ 16 апреля 2011

Я пытаюсь создать представление с помощью двух кнопок UIB. Код компилируется без каких-либо ошибок, но кнопки не имеют никаких меток и не могут быть нажаты. enter image description here

-(id)initWithTabBar {

if ([self init]) {
    self.title = @"Tab1";
    self.tabBarItem.image = [UIImage imageNamed:@"promoters.png"];
    self.navigationItem.title = @"Nav 1";
}

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Button" forState:UIControlStateNormal];
[button addTarget:self action:@selector(facebookAuthorize) forControlEvents:UIControlEventTouchDown];
[button setFrame:CGRectMake(10, 10, 100, 100)];

[self.view addSubview:button];

[button release];

UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button2 setTitle:@"Button" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(facebookLogin) forControlEvents:UIControlEventTouchDown];
[button2 setFrame:CGRectMake(110, 10, 100, 100)];

[self.view addSubview:button2];

[button2 release];

return self;
}

Ответы [ 2 ]

1 голос
/ 16 апреля 2011

Не отпускайте эти кнопки. Они создаются как автоматически выпущенные объекты. Как описано в документации :

Вы только релиз или авто-релиз объекты, которыми вы владеете. Вы вступаете во владение объект, если вы создаете его с помощью метод, имя которого начинается с «alloc», «New», «copy» или «mutableCopy»

Ни одно из этих слов не появляется в buttonWithType: , так что вы не берете на себя ответственность и можете с уверенностью предположить, что он автоматически выпущен.

0 голосов
/ 16 апреля 2011

Как упоминалось ранее, кнопки не могут быть названы, когда они с типом. Код для отображения слов в uibutton:

  UIButton *someButton=[[[UIButton alloc]initWithFrame:CGRectMake(140, 6, 175, 36)]autorelease];
[someButton addTarget:self action:@selector(facebookLogin) forControlEvents:UIControlEventTouchDown];
[someButton setTitle:@"Button" forState:UIControlStateNormal];
[self.view addSubview:someButton];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...