Ich versuche, eine Tooltip-Box programmatisch zu machen. Dazu versuche ich eine Containeransicht ("Tooltip-Klasse") zu erstellen, die der Größe der übergeordneten Ansicht entspricht. Innerhalb dieser Containeransicht füge ich eine QuickInfo-Ansicht hinzu. Darin füge ich einen UIButton hinzu, für den ich ein Ziel hinzufüge. Mein Code-Schnipsel:addTarget wird nicht auf UIButton in swift aufgerufen
let container: UIView = UIView()
let tooltipView: UIView = UIView()
var closeButton: UIButton = UIButton()
container.frame = view.frame
container.center = view.center
container.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.6)
tooltipView.frame = CGRectMake(40, 40, container.frame.size.width - 80, container.frame.size.height - 80)
tooltipView.backgroundColor = UIColor.whiteColor()
tooltipView.layer.cornerRadius = 10.0
Hinzufügen Schaltfläche:
closeButton = UIButton(type: .Custom)
closeButton.imageView?.contentMode = .ScaleAspectFit
closeButton.frame = CGRectMake(tooltipView.frame.size.width - 45, 0, 45, 45)
closeButton.setBackgroundImage(UIImage(named: "close.png"), forState: .Normal)
closeButton.addTarget(self, action: "closeTooltip", forControlEvents: UIControlEvents.TouchUpInside)
Funktion:
func closeTooltip() {
print("action")
// container.removeFromSuperview()
}
ich den Code in einem Verfahren in einer separaten Datei implementiert haben und ich rufe diese Tooltip Methode erstellen aus der HauptansichtController-Klasse. Ich habe mehrere Lösungen ausprobiert, z. B. "userInteractionEnabled = true" hinzufügen, aber es hat nicht funktioniert.
Da ich diese gesamte Tooltip-Methode in einer anderen Klasse ("ViewController") anrufe, dachte ich, da ich selbst an sie übergebe und das in der Tooltip-Klasse erwähnte Ziel das Problem sein könnte. Also die gleiche Methode in der "ViewController" -Klasse nur zum Testen hinzugefügt. Aber das hat auch nicht funktioniert.
Bitte geben Sie mir einen Rat, wo ich hier vermisse.
Dank
können Sie die schnelle Version angeben, die Sie derzeit verwenden? –
@Nirav Swift v2.0 – codejunkie
Gibt es eine Navigationsleiste in Ihrer Ansicht? –