Chcę mieć cienką szarą ramkę wokół pliku UITextView
. Przejrzałem dokumentację Apple, ale nie mogłem znaleźć tam żadnej własności. Proszę pomóż.
ios
quartz-core
Ali
źródło
źródło
self.myView.layer.borderWidth ...
, ale jak powiedziałem, warstwa jest tylko do odczytu, więc warstwa nie ma żadnych metod ani zmiennych do ustawieniaDodaj następujące informacje dla zaokrąglonych rogów:
źródło
Oto kod, którego użyłem, aby dodać obramowanie wokół mojej
TextView
kontrolki o nazwie „tbComments”:A oto jak to wygląda:
Bułka z masłem.
źródło
Dodaję
UIImageView
jako podokresUITextView
. To dopasowuje natywną ramkę na aUITextField
, w tym gradient od góry do dołu:Oto obrazy png, których używam, i reprezentacja jpg:
@ 1x
@ 2x
źródło
code
resizableImageWithCapInsets: UIEdgeInsetsMake (28, 14, 28, 14)Działa świetnie, ale kolor powinien być a
CGColor
, a nieUIColor
:źródło
Uważam, że powyższe odpowiedzi dotyczą poprzednich wersji Swift. Wyszukałem trochę w Google i poniższy kod działa dla Swift 4. Po prostu udostępniam go komukolwiek, kto może skorzystać.
Miłego kodowania!
źródło
self.textViewName.layer.borderColor = UIColor.systemGray4.cgColor
do szybkiego programowania użyj tego
źródło
UIColor(white: 0.2, alpha: 1).CGColor
jest to tak blisko, jak tylko mogłem z oryginalnego UITextField
źródło
możesz dodać obramowanie do UITextView z Storyboard - Identity Inspector - User Defined Runtime Attribute
źródło
Począwszy od iOS 8 i Xcode 6, teraz uważam, że najlepszym rozwiązaniem jest podklasa UITextView i oznaczenie podklasy jako IB_DESIGNABLE, co pozwoli ci wyświetlić obramowanie w scenorysie.
Nagłówek:
Realizacja:
Następnie po prostu przeciągnij swój UITextView w scenorysie i ustaw jego klasę na BorderTextView
źródło
To, co sprawiło, że zadziałało (oprócz podążania za odpowiedziami tutaj), to dodanie
borderStyle
atrybutu:źródło
Tylko mały dodatek. Jeśli obramowanie zostanie nieco szersze, będzie to kolidować z lewą i prawą stroną tekstu. Aby tego uniknąć, dodałem następujący wiersz:
źródło
W Swift 3 możesz użyć następujących dwóch linii:
źródło
Rozwiązałem ten problem w scenorysie, umieszczając całkowicie wyłączony
UIButton
zaUITextView
i ustawiając kolor tłaUITextView
clearColor. Działa to bez konieczności dodatkowego kodu lub pakietów.źródło