2012-05-15 2 views
1

Я хочу создать динамический набор ссылок/кнопок в контроллере представления iOS5 и попытаюсь выяснить, что может быть лучшим способом сделать это.Лучший способ создания динамического списка ссылок/кнопок в контроллере представления iOS5

Для например:

Пункт 1 Пункт 2 Пункт 3 : : Пункт N

каждый из элементов является ссылка/кнопка, которая кликабельна и будет делать какие-то действия, как и нагрузки другой экран и т. д., основанный на ссылке.

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

Мой вопрос: 1. Что является лучшим способом сделать это? Я мог бы просто создавать ярлыки и кнопки динамически, но это кажется довольно громоздким, и я не совсем уверен, как бы я различал разные кнопки (по сути, мне нужен какой-то индекс, чтобы узнать, какой элемент был нажат). 2. В качестве альтернативы, мне было интересно, могу ли я просто отобразить эту страницу как HTML и просто иметь ссылки? Я никогда не делал этого и не знал, как связать кнопку со ссылкой.

Любые предложения?

AK

ответ

0
  1. Вы можете попробовать использовать tag свойство для хранения значения индекса вам нужно, когда вы создаете кнопку. Затем оцените его в обработчике нажатия кнопки, обратившись к button.tag.

  2. Возможно, вы можете попробовать Cordova для HTML-подхода. Я не слишком хорошо знаком с этим, поэтому не могу сказать точно.

Надеюсь, это поможет.

+0

Я предполагаю, что свойство тега это единственный способ узнать, как это сделать. Позвольте мне взглянуть на Кордову и посмотреть, подходит ли она. Спасибо – user1395097

+0

Я думаю, что я был недостаточно ясен, когда упомянул подход HTML. Я действительно имел в виду, должен ли я просто отображать этот конкретный экран как HTML. Я все еще хочу использовать Xcode и iOS для всего остального. – user1395097

+0

Я вижу. Затем я предлагаю просто реализовать их как кнопки (или любой другой отображаемый элемент) с индексом в теге, чтобы узнать, как вы должны обрабатывать действие. – Altealice

0

(1) Вы можете назначить свойство UIButton tag на основе индекса кнопки. Если какие-либо события должны были запускаться, вы могли бы узнать, к какой кнопке относится событие, проверив tag.

Пример:

// Initializing some buttons 
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
button1.tag = 1; 
[button1 addTarget:self 
      action:@selector(buttonPushed:) 
    forControlEvents:UIControlEventTouchUpInside]; 
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
button2.tag = 2; 
[button2 addTarget:self 
      action:@selector(buttonPushed:) 
    forControlEvents:UIControlEventTouchUpInside]; 

Селектор для кнопочных событий:

- (void)buttonPushed:(id)sender { 
    ... 
    if ([sender tag] == 1) { 
     // do something after button1 event 
    } else if() { 
     // do something after button2 event 
    } 
    ... 
} 

(2) Если вы решите сделать это в HTML, вы можете проверить CMHTMLView

+0

Спасибо. Что касается HTML, я действительно имел в виду, если бы имело смысл просто сделать этот один экран в HTML, а не все приложение. Это всего лишь один экран, на котором я хочу отображать информацию в виде ряда ссылок. – user1395097

+0

, если вы посмотрите CMHTMLView, это только представление, которое вы можете использовать внутри ViewController. Хорошо, что CMHTMLView предоставляет простой способ для вас общаться между ViewController и HTMLView при любом событии клика посредством блочного программирования. – Willy

Смежные вопросы