Objective c 在iOS5 view controller中创建链接/按钮动态列表的最佳方法

Objective c 在iOS5 view controller中创建链接/按钮动态列表的最佳方法,objective-c,ios,Objective C,Ios,我想在iOS5视图控制器中创建一组动态链接/按钮,并试图找出最好的方法 例如: 项目1 项目2 项目3 : : 项目N 每个项目都是一个可单击的链接/按钮,可以执行一些操作,例如根据链接加载另一个屏幕等 我不知道提前有多少个项目,所以如果所有的项目不适合在屏幕上,我需要能够滚动到查看 我的问题: 1.有什么更好的方法?我可以动态地创建标签和按钮,但这似乎相当麻烦,而且我不完全确定如何区分不同的按钮(基本上我需要一些索引来找出单击了哪个项目)。 2.或者,我想知道我是否可以将这个页面呈现为HTML

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

例如:

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

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

我不知道提前有多少个项目,所以如果所有的项目不适合在屏幕上,我需要能够滚动到查看

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

有什么建议吗

AK

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

  • 也许你可以尝试一种基于HTML的方法。不过我对它不太熟悉,所以我不能肯定

  • 希望有帮助。

    (1)您可以根据按钮索引分配UIButton
    标记
    属性。如果要触发任何事件,您可以通过检查
    标记来识别事件属于哪个按钮

    样本:

    // 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中执行此操作,您可以签出

    我想tag属性是我知道如何执行此操作的唯一方法。让我看看科尔多瓦,看看它是否合适。谢谢,我想当我提到HTML方法时我还不够清楚。我真正的意思是,如果我只是将特定屏幕呈现为HTML。我仍然想用Xcode和iOS框架来做其他的事情。我明白了。然后我建议将它们实现为按钮(或任何其他可点击的元素),并在标记中添加索引,以了解您应该如何处理该操作。谢谢。至于HTML,我的意思是,如果用HTML而不是整个应用程序只显示一个屏幕是有意义的话。这只是一个屏幕,我想将信息显示为一系列链接。如果您查看CMHTMLView,它只是一个视图,您可以在ViewController中使用。好在CMHTMLView为您提供了一种简单的方式,可以通过块编程在ViewController和HTMLView之间就任何单击事件进行通信。