Сетка кнопок Objective C - PullRequest
       23

Сетка кнопок Objective C

0 голосов
/ 05 февраля 2012

Мне нужно сделать сетку кнопок 9x9 (как на доске судоку), чтобы пользователь мог взаимодействовать (просто касаться экрана) и фиксировать «координаты» нажатой кнопки ...

Есть идеи, как это решить?

спасибо заранее.

1 Ответ

1 голос
/ 05 февраля 2012

Не уверен, почему вы этого хотите, но я подготовил это для вас:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    for (int y=0; y < 3; y++) {
        for (int x = 0; x < 3; x++) {
            UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            button.frame = CGRectMake(40 + 80 * x, 40 + 80 * y, 80, 80);
            unsigned buttonNumber = y * 3 + x + 1;
            button.tag = buttonNumber;
            [button setTitle:[NSString stringWithFormat:@"%u", buttonNumber] forState:UIControlStateNormal];
            [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
            [self.view addSubview: button];
        }
    }
}

-(void)buttonPressed:(UIButton *)button
{
    NSLog(@"button %u -- frame: %@", button.tag, NSStringFromCGRect(button.frame));
}

По сути, все кнопки используют один и тот же обратный вызов, и там вы можете проверить кадр кнопки по мере необходимости.Если вам не нужно местоположение, но вы просто знаете, какая кнопка была нажата, вы можете просто использовать тег для каждой кнопки и проверить свойство тега в обратном вызове.

...