Добавление представления, созданного в Интерфейсном Разработчике, в Прогрессивно созданное представление - это можно сделать? - PullRequest
2 голосов
/ 21 июля 2010

Хорошо, поэтому я скачал проект с открытым исходным кодом, который я смотрю на настройку для личного использования (если он не превращается в отличный проект, в этом случае кто знает), но в любом случае у меня возникают некоторые трудности.

С самого начала я нахожу создание элементов пользовательского интерфейса с использованием программных методов довольно сложным, просто не могу найти хорошего учебника (если у кого-то есть какие-либо предложения, это будет высоко ценится!)

Итак, я пришел к выводу, что, возможно, мой лучший способ - это взять представление, которое я хочу изменить, воссоздать его в Интерфейсном Разработчике, а затем добавить его в предыдущее представление, проблема в том, что я просто не могуразобраться, как это сделать.Если кто-то хочет увидеть код, я могу предоставить его, но он основан на проекте с открытым исходным кодом RemotePad (легко гуглится), и я смотрю на замену элементов TapView - на самом деле все, что мне нужно сделать, это добавить четвертую кнопку под мышьюкнопки, но он просто потерял меня.

Полагаю, на самом деле я спрашиваю, как мне лучше всего добавить эту четвертую кнопку?В идеале кнопка должна быть скиновой, то есть должна иметь форму изображения, к которому может быть применен выделенный режим.

1 Ответ

4 голосов
/ 21 июля 2010

Это должно быть довольно легко сделать.

  1. Во-первых, вам нужно настроить существующий контроллер представления (тот, который связан с видом, в который вы хотите добавить свою кнопку) с IBOutlet для вашей новой кнопки.Таким образом, вы добавляете что-то вроде:
    @property (nonatomic, retain) IBOutlet UIButton *myFourthButton;
    
  2. Затем создайте файл пера с помощью Interface Builder.Начните с пустого файла IB и добавьте к нему свою кнопку.Вы также должны установить владельца файла в качестве экземпляра класса контроллера представления.Затем подключите выход myFourthButton владельца файла к новой кнопке.Сохраните файл IB.

  3. Теперь вам нужен способ загрузить этот файл NIB при создании контроллера представления.Я бы предложил сделать это в viewDidLoad: метод контроллера вида путем вызова:

    [[NSBundle mainBundle] loadNibNamed:@"yourNibFile" owner:self options:nil];
    
  4. Теперь кнопка из файла NIB должна быть подключена к выходу myFourthButton, теперь вам просто нужнодобавьте это к представлению и поместите это.Ниже я добавляю его в основной вид контроллеров.Однако может существовать подпредставление, к которому следует добавить его (зависит от того, как настроено исходное представление).Опять же, я бы поместил этот код в viewDidLoad: после всего существующего кода, чтобы настроить представление программно (или другим методом, если этот код находится в другом месте).

    [self.view addSubview:myFourthButton];  
    
    CGRect frame = myFourthButton.frame;
    frame.origin.x = 100;
    frame.origin.y = 100;
    myFourthButton.frame = frame;
    

    Когда вам нужна кнопка для фактическогоЧтобы ответить на событие касания, вы можете подключить его к контроллеру представления с помощью IBAction и Interface Builder, как и следовало ожидать.

...