Jak utworzyć UILabel
programistycznie przy użyciu Swift w Xcode 6?
Zacząłem od nowej „aplikacji pojedynczego widoku” w Xcode 6 i wybrałem Swift dla tego projektu. Mam swoje pliki AppDelegate.swift
i ViewController.swift
nie wiem, co mam teraz zrobić.
Odpowiedzi:
Aktualizacja Swift 3.0+:
źródło
Oto poprawny kod dla Swift 3, z komentarzami w celach instruktażowych:
źródło
Aby dodać do już świetnych odpowiedzi, możesz chcieć dodać wiele etykiet do swojego projektu, więc zrobienie tego wszystkiego (ustawienie rozmiaru, stylu itp.) Będzie uciążliwe. Aby rozwiązać ten problem, możesz utworzyć oddzielną klasę UILabel.
Aby go użyć, wykonaj następujące czynności
źródło
self.text
wewnątrz klasy, aby zainicjować w ten sposób:myLabel = MyLabel(string: "text")
myLabel.text = "text"
Swift 4.X i Xcode 10
Jeśli masz wiele etykiet w swojej klasie, użyj rozszerzenia, aby dodać właściwości.
źródło
Możesz utworzyć etykietę, korzystając z poniższego kodu. Zaktualizowano.
źródło
Kolejny kod swift3
źródło
Alternatywa wykorzystująca zamknięcie do rozdzielenia kodu na coś bardziej estetycznego za pomocą języka Swift 4:
Uwaga: atrybuty for
theLabel
można nadal zmieniać za każdym razem, gdy używasz funkcji w VC. Po prostu ustawiasz różne ustawienia domyślne wewnątrz zamknięcia i minimalizujesz bałagan w funkcjach takich jakviewDidLoad()
źródło
UILabel(frame:)
), czy w innym miejscu w bloku (label.frame=
). Jakiekolwiek późniejsze ustawienie ramki (np.viewDidLayoutSubviews()
In) powodowało, że etykieta nie pojawiała się.Utwórz
UILabel
widok pozaviewDidLoad
klasą, a następnie dodaj ten widok do głównego widoku wviewDidLoad
metodzie.A następnie dodać, że
view
wviewDidLoad()
źródło
lazy var variable_name = ""
nie będzie ona zużywać pamięci, chyba że ta zmienna zostanie wywołana przez aplikację. Jeśli ta właściwość nie jest używana, nigdy nie zostanie wykonana.Stwórz etykietę w swift 4
źródło
Swift 4.2 i Xcode 10. Gdzieś w ViewController:
...
Za pomocą:
źródło
Wypróbuj powyższy kod w ViewDidLoad
źródło
Swift 4.2 i Xcode 10 Inicjalizuj etykietę przed viewDidLoad.
W viewDidLoad dodaj etykietę do widoku i zastosuj ograniczenia.
źródło