2012-02-05 38 views
0

我需要做一個9x9的按鈕網格(像數獨板),爲用戶交互(只需觸摸屏幕),並捕獲按下的按鈕的「座標」 ......目標C鍵電網

任何如何解決這個問題的想法?

在此先感謝。

回答

1

不知道爲什麼你想要的,但我準備這個給你:

- (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)); 
} 

基本上,所有按鈕都使用相同的回調,有您可以根據需要檢查一下按鍵的框架。如果您不需要位置,但只需知道按下哪個按鈕,則可以簡單地爲每個按鈕使用一個標籤,然後檢查回調中的標籤屬性。

+0

感謝您的幫助!對不起,我以前沒有回答過,因爲我一直在學校很忙。 事情是我需要做一個應用程序,記錄一個「路線」或「路徑」(如點鎖定保護應用程序),所以我想在按下按鈕的同時拖動,禁用並啓用所有直接鄰居(右,左,向上,向下)。我是否以正確的方式來實現這一目標? – 2012-02-14 17:50:46

+0

@Jorge,它工作正常,如果米*米網格button.But如果我想創建一個m * n網格我該怎麼做?其實我想創建一個2 * 1網格? – user930195 2012-03-12 05:45:16