Ich denke, der beste Weg wäre, alles mit einem Etikett zu machen. Sie können den Textstil mit einer attributierten Zeichenfolge festlegen (Code unten). Erstellen Sie dann eine UIButton, die über dem Label liegt (die Größe des UIButton kann basierend auf der Länge des Benutzernamens angepasst werden).
Dies ist der Ansatz, den ich verwenden, wenn eine Verzichtserklärung Etikett auf einem Anmeldebildschirm zu schaffen, wie unten
gezeigt Hier ist der Code, der die zurück Zeichenfolge zu erstellen:
let disclaimerAttributedString = NSMutableAttributedString(string: disclaimerLabel.text!, attributes: [NSKernAttributeName: -0.4])
disclaimerAttributedString.addAttributes([NSForegroundColorAttributeName: UIColor.whiteColor(), NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue], range: NSMakeRange(38, 12))
disclaimerAttributedString.addAttributes([NSForegroundColorAttributeName: UIColor.whiteColor(), NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue], range: NSMakeRange(55, 14))
disclaimerLabel.attributedText = disclaimerAttributedString
Meine Situation ist etwas anders, weil ich es auf statischen Text anwende. Für Sie können Sie entweder die Schaltfläche in Code basierend auf der Länge des Benutzernamens erstellen, oder Sie können es nur annähern, indem Sie die Schaltfläche oben links von UILabel festhalten.
Sie können die Länge des zugeschrieben String herausfinden, dass der Benutzername unter Verwendung der String-Erweiterung in this SO answer
Ich glaube, es ist ein benutzerdefiniertes Steuerelement enthält Textbereich und eine Schaltfläche. Bitte beachten Sie http://stackoverflow.com/questions/23107948/add-button-inside-a-text-view. Eigentlich konnte ich mit dieser Idee etwas Grundlegendes anfangen. Es könnte helfen. – smozgur
@smozgur danke dafür, ich schaue mal ... Aber wenn du irgendein Beispiel hast, wäre das nett und hilfreich! :) –
Ich spiele eigentlich damit, seit ich deine Frage gesehen habe. Ich habe bisher eine grundlegende Arbeitsstichprobe, aber ich versuche, sie zu verbessern, um zu lernen, wie das erreicht werden kann. Vielleicht wissen andere Programmierer besser, mal sehen, ob wir etwas zum Laufen bringen. – smozgur