Kiedy ustawię backgroundColor
na mój UITableView
, działa dobrze na iPhonie (urządzeniu i symulatorze), ale NIE na symulatorze iPada. Zamiast tego otrzymuję jasnoszare tło dla dowolnego ustawionego koloru groupTableViewBackgroundColor
.
Kroki ku reprodukcji:
- Utwórz nowy projekt oparty na nawigacji.
- Otwórz RootViewController.xib i ustaw styl widoku tabeli na „Zgrupowane”.
- Dodaj ten obiekt odpowiadający do RootViewController:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; }
- Wybierz Simulator SDK 3.2, skompiluj i uruchom.
- Otrzymasz czarne tło (urządzenie i symulator).
- Wybierz cel w drzewie projektu.
- Kliknij Project: Upgrade Current Target for iPad.
- Buduj i uruchamiaj.
- Otrzymasz jasnoszare tło.
- Przywróć styl widoku tabeli na Zwykły, a otrzymasz czarne tło.
Dzięki za pomoc!
ipad
uitableview
iphone-sdk-3.2
background-color
rjobidon
źródło
źródło
Odpowiedzi:
Wypróbuj jedną z nich.
źródło
Wielkie dzięki za to rozwiązanie. Zastosowałem to we właściwości UITableView z IBOutlet w UIViewController i działa to dobrze tak, jak:
źródło
Na iPadzie
backgroundView
właściwość wydaje się być używana do tworzenia szarego koloru tła dla zgrupowanych tabel. Aby zmienić kolor tła zgrupowanych tabel na iPadzie, należynil
wyłączyćbackgroundView
właściwość, a następnie ustawićbackgroundColor
żądany widok tabeli.źródło
Myślę, że warto zauważyć, że od Xcode 6.1 i iOS 8.1, szczególnie dla iPada (jeśli chcesz również ustawić tło komórki), wydaje się, że musisz ustawić tło tabeli ORAZ tło komórki.
Na przykład w serii ujęć na telefonie iPhone można ustawić komórkę na wyczyszczenie koloru, a następnie ustawić programowo obraz tła tabeli dla przezroczystej tabeli z obrazem tła. Jednak gdybyś miał zobaczyć tę samą konfigurację na iPadzie, komórki nie byłyby jasne. Konieczne będzie programowe czyszczenie komórek dla iPada.
źródło
-viewDidLoad:
metodzie kontrolera widoku .próbowałem ustawić kolor tła i widok dla stołu, nie miałem szczęścia (symulator iPada Xcode 5 iOS7.1), wyglądał dobrze na iPhone'a, ale jasnoszary kolor tła na iPadzie ...
praca z backgroundColor dla samej komórki naprawiła to dla mnie na iOS 7.1 4/2014
}
źródło
Jeśli Twoja aplikacja jest przeznaczona dla iPhone'a i iPada, możesz to zrobić w następujący sposób:
Zwróć uwagę, że przydział TableView nie ma automatycznego wydania dla ARC.
źródło
Jeśli dodajesz UIViewController do innego UIViewController, musisz również ustawić tło widoku na clearColor oprócz UITableView, w przeciwnym razie otrzymasz białe tło zamiast jasnoszarego.
źródło
Żadne z powyższych nie działało dla mojego UIViewController-> UITableView określonego przy użyciu pojedynczego XIB. Udało się przenieść całą konfigurację do Storyboardu i ustawić kolor tła za pomocą inspektora IB.
źródło
Ja też mam tego rodzaju problem.
UITableView
Kolor tła będzie zawszegroupTableViewBackgroundColor
bez względu na to, co mam ustawione.Objaw jest podobny do tego problemu - UITableView resetuje kolor tła, zanim pojawi się widok
Po ustawieniu koloru tła w
init
funkcji jest to poprawne. WviewDidLoad
iviewWillAppear
etap, to jest prawidłowe. Jednak wviewDidAppear
programie kolor tła jest resetowany do koloru domyślnego.Zaakceptowana odpowiedź teraz nie działa.
Oto moje rozwiązanie. Po prostu ustaw kolor tła tableView w
viewDidLoad
function zamiastinit
lubviewWillAppear
.źródło