2016-01-20 3 views
0

Я создал 5 кнопок динамически в Swift, как это:Как получить идентификатор UIButton?

for theIndex in 0..<5 { 

     let aButton = UIButton() 
     aButton.frame = CGRectMake(self.view.bounds.width/2 - 120, self.view.bounds.height/2 - 150, 240, 300) 
     aButton.setTitle("Button \(theIndex)", forState: .Normal) 
     aButton.addTarget(self, action: "btnClicked:", forControlEvents:.TouchUpInside) 

     self.view.addSubview(aButton) 
    } 

Но как я могу получить BUTTON_ID для каждого из них?

func btnClicked(sender: AnyObject?) { 
     let vc = storyboard!.instantiateViewControllerWithIdentifier("vc_name") as! DetailVC 
     vc.selectedId = **WANT_TO_PASS_BUTTON_ID_HERE** 
     self.presentViewController(vc, animated:true, completion:nil) 
    } 
+1

Рассмотрите возможность установки «тега» кнопок * ИЛИ * храните массив из 5 пользовательских кнопок в вашем классе. – luk2302

ответ

1

Вы можете использовать tag свойства кнопок (например, вы можете установить там индекс имеет кнопок), и получить его позже в func btnClicked(sender: AnyObject?) методе для определения кнопки, с которой индекс толкнул

В то время как езда на велосипеде через индексы сделать:

aButton.tag = theIndex 

и метода сделать:

vc.selectedId = sender.tag 

См. Для справки Apple docs on UIView

+0

Я новичок в iOS. Не могли бы вы показать мне использование тега для кнопок? –

+0

@AsimKrishnaDas см. Мой отредактированный ответ, например – arrteme

Смежные вопросы