2017-03-15 2 views
0

Ist es möglich, dass eine Unterklasse einer UIB-Taste ein Segment im Storyboard auslöst? Der Übergang stoppt, sobald ich die benutzerdefinierte Klasse einer Schaltfläche im Storyboard ändere.Kann eine Unterklasse von UIButton Segmente auslösen?

Ich habe UIPageViewController in einem ViewController in einem NavigationController eingebettet. Einer der ViewControllers im PageController hat einen Unterklasse-Button, der im NavigationController einen Unterlauf durchführen soll.

Die Button-Unterklasse ist wie folgt: Alles, was sonst in Storyboard verdrahtet ist nur

class MiniButton:UIButton{ 

var originalBackgroundColor:UIColor? 
var originalTextColor:UIColor? 

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    originalBackgroundColor = self.backgroundColor 
    originalTextColor = self.titleColor(for: .normal) 
    self.backgroundColor = MiniColor.miniYellow 
    self.setTitleColor(MiniColor.white, for: .normal) 
} 

func backToOriginalColors(){ 
    self.backgroundColor = originalBackgroundColor 
    self.setTitleColor(originalTextColor, for: .normal) 
} 

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { 
    backToOriginalColors() 
} 

override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) { 
    backToOriginalColors() 
} 

}

+0

Können Sie bitte ein bisschen mehr Code und Details, wie Sie es getan haben – mihatel

+1

Sicher kann es e ist mit deinem Code. Bitte zeig es. – dfd

+0

Entschuldigung für die unvollständige Frage. Ich habe es bearbeitet. Der Großteil der Arbeit findet nur im Storyboard statt. –

Antwort

0

Aufruf Super auf Ihrer Unterklasse Super 'wichtig Methoden ist' = (

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    super.touchesBegan(touches, with: event) // <-------- 

    originalBackgroundColor = self.backgroundColor 
    originalTextColor = self.titleColor(for: .normal) 
    self.backgroundColor = MiniColor.miniYellow 
    self.setTitleColor(MiniColor.white, for: .normal) 
} 
Verwandte Themen