Ich habe gerade angefangen, iOS-Entwicklung zu lernen und kann nicht herausfinden, wie man einfache abgerundete Schaltflächen erstellt. Ich finde Ressourcen für alte Versionen. Muss ich einen benutzerdefinierten Hintergrund für eine Schaltfläche festlegen? In Android würde ich nur einen 9-Patch verwenden, aber ich weiß, dass iOS diese Funktion nicht hat.
ios
xcode
uibutton
storyboard
Gintas_
quelle
quelle
Sie können absolut einfach eine abgerundete Schaltfläche erstellen, ohne ein zusätzliches Hintergrundbild zu benötigen oder einen Code dafür zu schreiben. Folgen Sie einfach dem Screenshot unten, um die Laufzeitattribute für die Schaltfläche festzulegen und das gewünschte Ergebnis zu erzielen.
Es wird nicht in der
Storyboard
angezeigt, funktioniert aber einwandfrei, wenn Sie das Projekt ausführen.Hinweis:
Der 'Schlüsselpfad'
layer.cornerRadius
und Wert ist 5. Der Wert muss entsprechend der Höhe und Breite der Schaltfläche geändert werden. Die Formel dafür ist die Höhe der Schaltfläche * 0,50. Spielen Sie also um den Wert herum, um die erwartete abgerundete Schaltfläche im Simulator oder auf dem physischen Gerät anzuzeigen. Dieser Vorgang ist mühsam, wenn Sie mehr als eine Schaltfläche im Storyboard abrunden müssen.quelle
clipsToBounds
damit dies funktioniert.Sie können so etwas tun:
Setzen Sie die Klasse auf
MyButton
inIdentity Inspector
und in IB haben Sie dierounded
Eigenschaft:quelle
layer.masksToBounds = true
auchFügen Sie den Code in die RoundButton-Klasse ein.
Beziehen Sie sich auf das Bild.
quelle
Ich fand den einfachsten Weg, dies zu tun, indem ich den Eckradius auf die Hälfte der Höhe der Ansicht einstellte.
quelle
Sie können
IBOutlet
Ihre Schaltfläche über das Storyboard verbinden.Dann können Sie
corner radius
Ihren Knopf so einstellen , dass er eckig wird.zum Beispiel Ihr
outlet
istmyButton
dann,Obj - C.
Schnell
Wenn Sie genaue runde Taste wollen dann Taste ist
width
undheight
muss seinequal
undcornerRadius
muss auf Höhe oder Breite / 2 ( die Hälfte der Breite oder Höhe) gleich sein.quelle
Wie andere Antworten vorgeschlagen haben, um den größten Teil dieser Arbeit im Code auszuführen, bot nur eine Antwort tatsächlich eine Möglichkeit, Ihre Änderungen in der Storyboard-IB-Oberfläche anzuzeigen. Meine Antwort geht über diese Antwort hinaus, indem Sie den Eckradius der Ansicht, der Schaltfläche, des Bildes usw. ändern können.
Bitte schauen Sie sich den folgenden Code an. Um diesen Code zu verwenden, erstellen Sie eine neue schnelle Datei mit dem Namen RoundedView oder wie auch immer Sie sie nennen möchten. Gehen Sie dann zu Ihrem Storyboard und ändern Sie die Klasse in "RoundedView", "RoundedImageView" oder "RoundedButton".
quelle
layer.cornerRadius
Stellen Sie beim Hinzufügen im Storyboard sicher, dass Sie keine führenden oder nachfolgenden Leerzeichen haben. Wenn Sie kopieren und einfügen, werden möglicherweise Leerzeichen eingefügt. Wäre schön, wenn XCode eine Warnung oder einen Fehler sagt.quelle
Versuche dies!!
quelle
Die Erweiterung ist die beste Option für dieses Problem. Erstellen Sie eine Erweiterung von Ansicht oder Schaltfläche
Rufen Sie es aus dem Code
quelle
Ich verwende Xcode Version 11.4
Im Attributinspektor können Sie den Eckenradius definieren.
Es wird nicht im Storyboard angezeigt, funktioniert aber einwandfrei, wenn Sie das Projekt ausführen.
quelle
quelle