在iOS5视图控制器中创建动态链接/按钮列表的最佳方法

时间:2012-05-15 03:25:24

标签: objective-c ios

我想在iOS5视图控制器中创建一组动态链接/按钮,并试图找出可能是最好的方法。

例如:

项目1 第2项 第3项 : : 项目N

每个项目都是一个可点击的链接/按钮,可以执行某些操作,例如根据链接加载另一个屏幕等。

我不知道可能有多少项目,所以如果所有项目都不适合屏幕,我需要能够滚动查看。

我的问题: 1.有什么更好的方法呢?我可以动态地创建标签和按钮,但这看起来相当麻烦,我不完全确定如何区分不同的按钮(基本上我需要一些索引来找出哪个项目被点击)。 2.或者,我想知道我是否可以将此页面呈现为HTML并且只是链接?我从来没有这样做,也不确定如何将按钮与链接相关联。

有什么建议吗?

AK

2 个答案:

答案 0 :(得分:0)

  1. 您可以尝试使用tag属性来存储创建按钮时所需的索引值。然后使用button.tag访问,在按钮点按处理程序中对其进行评估。

  2. 也许您可以尝试使用基于HTML的方法Cordova。我不太熟悉它,所以我不能肯定地说。

  3. 希望它有所帮助。

答案 1 :(得分: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