以编程方式从视图中获取UIButton

时间:2010-07-15 11:08:25

标签: objective-c iphone uibutton

我在自定义视图keyboardView中创建并添加按钮网格,如下所示:

int offset = 0;
for (int row = 0; row<4; row++){
    for (int col = 0; col<13;col++) {
        offset +=1;
        UIButton *aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        aButton.frame = CGRectMake(5+col*65+offset,5+row*65, 60, 60);
        [aButton setTitle:myarray[row][col] forState:UIControlStateNormal];
        [aButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];         

        [keyboardView addSubview: aButton];
    }
}

我需要某些按钮具有不同的尺寸,例如返回键或空格键。如何以编程方式获取对特定按钮的引用,稍后将使用相同的方法?有没有比设置tag然后调用[keyboardView viewWithTag:t]更简单的方法?因为int会让人感到困惑。

感谢。

2 个答案:

答案 0 :(得分:0)

你可以使用UIView标签(不必混淆,只需创建一个枚举),或者如果只有一些“特殊”UIButton,你可以创建ivars来保持对它们的引用。< / p>

答案 1 :(得分:0)

您可以创建像UIButton *spaceBar这样的实例变量。如果你到达了两个for-Iretations中的Button,它被认为是空格键,只需spacebar = aButton。 所以你可以稍后在方法中使用这个实例变量引用指定的按钮。 ;-) 我希望它或多或少可以理解。 ^^