Mam naprawdę wielkie życzenie, aby ustawić własny kolor obramowania UITextField. Ale do tej pory mogłem tylko dowiedzieć się, jak zmienić styl linii granicznej.
Użyłem właściwości background do ustawienia koloru tła w następujący sposób:
self.textField.backgroundColor = textFieldColor;
Ale muszę też zmienić kolor obramowania UITextField. Moje pytanie dotyczyło zmiany koloru obramowania.
Odpowiedzi:
Importuj
QuartzCore
framework w swojej klasie:a do zmiany koloru obramowania użyj poniższego fragmentu kodu (ustawiam go na redColor),
Aby powrócić do pierwotnego układu, po prostu ustaw kolor obramowania na czysty kolor,
w szybkim kodzie
źródło
viewDidLoad
) i zmieniasz te właściwości, mówiącself.myTextField.layer.cornerRadius
itp. Te zmiany zaczną obowiązywać natychmiast po uruchomieniu aplikacji, ale nie możesz zobaczyć zmian w serii ujęć. Jeśli nie ma to dla Ciebie żadnego sensu, proponuję odwiedzić stronę internetową, na przykład Ray Wenderlich, i przeczytać kilka porad dla początkujących.Spróbuj tego:
i importuj QuartzCore:
źródło
Zaimportuj następującą klasę:
// Kod do ustawiania szarego koloru obramowania pola tekstowego
W razie
171.0
potrzeby zastąp odpowiednim numerem koloru.źródło
to pytanie pojawia się dość wysoko w wyszukiwarce Google i przez większość czasu działało! Zauważyłem, że odpowiedź Salmana Zaidiego była częściowo poprawna w przypadku iOS 7.
Musisz zmodyfikować kod „przywracający”. Okazało się, że następujące funkcje przywracania działały idealnie:
Rozumiem, że jest to najprawdopodobniej spowodowane zmianami w iOS 7.
źródło
Aby uprościć tę akcję z zaakceptowanej odpowiedzi, możesz również utworzyć kategorię dla
UIView
(ponieważ działa to dla wszystkich podklas UIView, nie tylko dla pól tekstowych:UIView + Additions.h:
UIView + Dodatki. M:
Stosowanie:
źródło
Jeśli używasz TextField z zaokrąglonymi narożnikami, użyj tego kodu:
Aby usunąć obramowanie:
źródło
Aktualizacja dla Swift 5.0
źródło
kolor ramki w dowolnym widoku (lub podklasie UIView) można również ustawić za pomocą scenorysu z odrobiną kodowania, a to podejście może być naprawdę przydatne, jeśli ustawiasz kolor obramowania na wielu obiektach interfejsu użytkownika.
Poniżej kroki jak to osiągnąć,
PS: Pamiętaj, kategorie nie mogą mieć przechowywanych właściwości. „borderUIColor” jest używana jako właściwość obliczeniowa, podobnie jak odniesienie do osiągnięcia tego, na czym się skupiamy.
Proszę spojrzeć na poniższy przykładowy kod;
Cel C:
Plik interfejsu:
Plik wdrożeniowy:
Swift 2.0:
I na koniec przejdź do swojego storyboardu / XIB, wykonaj pozostałe kroki;
Musisz ustawić wartość właściwości layer.borderWidth na co najmniej 1, aby zobaczyć kolor obramowania.
Buduj i uruchamiaj. Miłego kodowania. :)
źródło
Oto implementacja Swift. Możesz utworzyć rozszerzenie, aby było używane przez inne widoki, jeśli chcesz.
Nazywamy to tak:
email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)
.źródło