Программируемое добавление кнопок UIB: работает в симуляторе, но не на телефоне - PullRequest
0 голосов
/ 12 ноября 2009

Я пытаюсь программно добавить кнопки на экран во время цикла по массиву. Код, который я разместил ниже, прекрасно работает в симуляторе (и выполняется без ошибок на телефоне), однако кнопка не добавляется на экран телефона. Любые предложения относительно того, где я ошибся?

// loop through missions, dropping buttons
UIButton *button;
for(mission in activeMissions){

    // add a button for the mission
    buttonImage = [UIImage imageNamed:@"missionIconAttack.png"];
    button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(0,0, buttonImage.size.width, buttonImage.size.height);
    button.center = CGPointMake(60, 298); // hard coded for simplicity
    button.tag = [missionButtons count];
    [button setImage:buttonImage forState:UIControlStateNormal];
    [button addTarget:self action:@selector(SelectMission:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
    [missionButtons addObject:button];
    [button release];
    button = nil;
}

Ответы [ 2 ]

1 голос
/ 12 ноября 2009

Метод класса UIButton создает объект автоматического выпуска.

Не уверен, почему он работает в симуляторе, но вам не нужен релиз или ноль.

Ваши коды помещают созданные кнопки в одно и то же место на виде (прямо друг на друга), но не уверены, что это именно то, что вам нужно.

0 голосов
/ 12 ноября 2009

После некоторой дальнейшей отладки кажется, что iPhone чувствителен к регистру при доступе к файловой системе (или, по крайней мере, в этом случае), а iPhone Simulator - нет.

Я удалил некоторые операторы switch, когда писал для простоты. Преступник-нарушитель был @"missionIconPickup.png"; в переключателе назначения изображения, который должен был быть @"missionIconPickUp.png";.

Было бы неплохо, если бы симулятор это поймал. Я немного смущен, что отправил с опечаткой, которая была проблемой.

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