Я пытаюсь добавить метки в Swift, которые добавляются в цикле. Затем я хочу добавить событие «TapGesture» для каждого из них по мере добавления. Он работает, но проблема в том, что вызванная функция берет данные с метки, которые нужно использовать при нажатии, но метка была переопределена к тому времени и она берет данные из последнего добавленного, а не того, который был нажат. Как я могу сделать каждого уникальным?Как «добавитьTarget» в UILabel в Swift
self.label.attributedText = self.myMutableString
let tapGesture = UITapGestureRecognizer(target: self, action: handleTap(label))
self.label.userInteractionEnabled=true
self.label.addGestureRecognizer(tapGesture)
self.label.font = UIFont.boldSystemFontOfSize(28)
self.label.sizeToFit()
self.label.center = CGPoint(x: screenWidth, y: top)
if(kilom>=30||self.located==false){
self.scroller.addSubview(self.label)
if(device=="iPhone"||device=="iPhone Simulator"){
top = top+80
}
else{
top = top+140
}
}
Код ниже жест распознаватель, который получает данные этикетки и использует его:
func handleTap(sender:UILabel){
var a = self.label.text
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("displayer")
self.presentViewController(resultViewController, animated: true, completion: nil)
}
Хорошо спасибо. –
Из кода, который вы опубликовали, кажется, что у вас есть только одна метка. Вы изменяете его атрибуты, но не создаете новый (если только в коде, который вы не указали). –