如何从Objective C中动态生成的按钮获取按钮标题?

时间:2015-05-07 22:19:35

标签: ios objective-c uibutton

我已经在我的控制器实现类中动态创建了一行按钮,并将它们添加到视图中。每个按钮的标题设置为相应的数字;第一个按钮的标题为“1”,第二个按钮的标题为“2”,依此类推。我想对单击按钮标题中的文本做一些事情(对于这个问题,我只想用NSLog输出它。)

这有可能吗?这是我用来制作按钮的一段代码:

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // position of first button to be created
    int xPos = 31;
    int yPos = 404;

    for(int i = 0; i < 7; i++) {
        UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(xPos, yPos, 30, 30)];
        NSString *buttonTitle = [[NSString alloc]initWithFormat:@"%i", i + 1];
        [button setTitle:buttonTitle forState:UIControlStateNormal];

        [self.view addSubview:button];
        [button addTarget: self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchDown];

       xPos = xPos + 38;
    }

}

- (void)buttonClicked:(id)sender {
    // Do something when each button is clicked
    // something like: NSLog(the button's title)
}

我在这里创建了一个帐户只是为了提出这个问题,希望我能正确地为这个问题格式化我的代码!如果您对我需要帮助的内容有任何疑问,请随时询问。

1 个答案:

答案 0 :(得分:1)

- (void)buttonClicked:(id)sender {
    // Do something when each button is clicked
    NSLog(@"Button title: %@", [sender titleForState:UIControlStateNormal]);

}