循环,生成带有数组函数的按钮

时间:2012-12-04 21:05:27

标签: ios objective-c uibutton nsarray programmatically-created

对于我的iOS应用程序,我有一个文本数组,我想在UIScrollview内部生成右侧的文本列表和左侧的按钮列表。 每当用户从右侧按下UIButton时,左侧的文本将被复制到用户设备的剪贴板中......

我想出了如何使用for循环和NSArray在UILabels中生成文本列表。我不知道如何以编程方式生成UIButton但我也不知道如何让每个按钮从数组中复制相应的字符串(即按钮#3从数组中复制字符串#3(objectAtIndex#2))

到目前为止,这是我的代码:

    NSArray *copyText;
    copyText = [NSArray arrayWithObjects: @"text to copy 1", "text to copy 2", "text to copy 3", "text to copy 4", nil];

    int i = 0;
    while (i < [copyText count]) {
        UILabel *copyLabels = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, (ScrollView1.frame.size.width*2/3), 25)];
        copyLabels.center = CGPointMake(ScrollView1.frame.size.width*2/3, ((i*25)+15));
        copyLabels.textAlignment = UITextAlignmentCenter;
        copyLabels.textColor = [UIColor blackColor];
        copyLabels.backgroundColor = [UIColor clearColor];
        copyLabels.font = [UIFont fontWithName:@"System" size:(16.0)];
        [ScrollView1 addSubview:copyLabels];
        copyLabels.text = [NSString stringWithString:[copyLabels objectAtIndex:i]];
        i ++;
    }

1 个答案:

答案 0 :(得分:1)

在这里找到我的答案:Add a multiple buttons to a view programmatically, call the same method, determine which button it was

UIButton有一个“tag”字段,可以在其中分配数值,这样我的循环可以跟踪哪个按钮是哪个。天才。