Ich möchte einen dünnen grauen Rand um a haben UITextView
. Ich habe die Apple-Dokumentation durchgesehen, konnte dort jedoch keine Immobilie finden. Bitte helfen Sie.
ios
quartz-core
Ali
quelle
quelle
self.myView.layer.borderWidth ...
, aber wie gesagt, die Ebene ist schreibgeschützt, sodass die Ebene keine Methoden oder Variablen zumFügen Sie für abgerundete Ecken Folgendes hinzu:
quelle
Hier ist der Code, den ich verwendet habe, um einen Rahmen um mein
TextView
Steuerelement mit dem Namen "tbComments" hinzuzufügen:Und so sieht es aus:
Kinderleicht.
quelle
Ich füge
UIImageView
als Unteransicht derUITextView
. Dies entspricht dem nativen Rand auf aUITextField
, einschließlich des Verlaufs von oben nach unten:Dies sind die von mir verwendeten PNG-Bilder und eine JPG-Darstellung:
@ 1x
@ 2x
quelle
code
resizableImageWithCapInsets: UIEdgeInsetsMake (28, 14, 28, 14)Funktioniert super, aber die Farbe sollte a sein
CGColor
, nichtUIColor
:quelle
Ich glaube, die obigen Antworten beziehen sich auf die vorherigen Versionen von Swift. Ich habe ein bisschen gegoogelt und der folgende Code funktioniert für Swift 4. Teilen Sie ihn einfach für jeden, der davon profitiert.
Viel Spaß beim Codieren!
quelle
self.textViewName.layer.borderColor = UIColor.systemGray4.cgColor
Verwenden Sie diese Option für die schnelle Programmierung
quelle
UIColor(white: 0.2, alpha: 1).CGColor
Dies ist so nah wie möglich an einem originalen UITextField
quelle
Sie können UITextView über das Storyboard - Identity Inspector - Benutzerdefiniertes Laufzeitattribut einen Rahmen hinzufügen
quelle
Ab iOS 8 und Xcode 6 finde ich jetzt die beste Lösung darin, UITextView zu unterklassifizieren und die Unterklasse als IB_DESIGNABLE zu markieren, damit Sie den Rand im Storyboard anzeigen können.
Header:
Implementierung:
Ziehen Sie dann einfach Ihre UITextView in das Storyboard und setzen Sie ihre Klasse auf BorderTextView
quelle
Die Sache, die es funktioniert hat (zusätzlich zu den Antworten hier), ist das Hinzufügen des
borderStyle
Attributs:quelle
Nur eine kleine Ergänzung. Wenn Sie den Rand etwas breiter machen, beeinträchtigt dies die linke und rechte Seite des Texts. Um dies zu vermeiden, habe ich die folgende Zeile hinzugefügt:
quelle
In Swift 3 können Sie die folgenden zwei Zeilen verwenden:
quelle
Ich habe dieses Problem im Storyboard gelöst, indem ich ein vollständig deaktiviertes Element
UIButton
hinter dasUITextView
und die Hintergrundfarbe derUITextView
clearColor gesetzt habe. Dies funktioniert ohne zusätzlichen Code oder Pakete.quelle