2011-07-03 20 views
5

Chcę ustawić obraz jako tło dla mojego uitableview. Jest to kod używam:Ustawianie obrazu tła do uytku?

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_tableview.png"]]; 

To pokazuje obraz w prawo, ale jak tylko tablica jest wypełniana coś dziwnego się dzieje. Części obrazów są wyświetlane w każdym obrazie, a także obraz przewija się wraz z tabelą. Jak mogę to zrobić, aby obraz pozostał niezmieniony i aby każdy z nich nie wyświetlał części obrazu?

Dzięki,
TC

+0

Możliwe duplikat [komórce UITableView z tło obrazu] (http://stackoverflow.com/questions/6329832/uitableview- komórka-z-tłem-obrazem) – bummi

Odpowiedz

13

Nie chcesz, aby ustawić tło z UITableView jeśli nie chcesz go przewijać. Zamiast tego chcesz ustawić tło dla UITableView, aby było przezroczyste - i zapewnić własne stałe tło za UITableView.

Aby to zrobić, najpierw ustaw tło UITableView na "Wyczyść kolor".

Programowo:self.tableView.backgroundColor = [UIColor clearColor];

Warto również, aby usunąć zaznaczenie pola wyboru nieprzezroczyste.

Programowo:self.tableView.opaque = NO;

Konfiguracja stałe tło chcesz w widoku z tyłu UITableView.

Upewnij jakieś cząstkowe widoki w dowolnych UITableViewCell s są również backgroundColor = [UIColor clearColor]; (UITextView s, itd.)

Example Xcode 4/Interface Builder setup

+3

jakikolwiek sposób zrobić to problematycznie? –

+1

Edytowane za pomocą przykładowego kodu, aby zrobić to programowo (nie jestem pewien "problematycznie" chociaż ... hehe). Będziesz musiał ją zabrać stamtąd. Wszystko, co możesz zrobić w konstruktorze interfejsów, możesz zrobić za pomocą kodu - i dość prosto. Wystarczy wyszukać w dokumentacji Apple nazwę klasy i nazwę nieruchomości, której szukasz. Znajdziesz to. – Steve

+0

Czy muszę dodać uiimageview jako subview? –

0

Powyższe rozwiązanie działa, jeśli wewnątrz UIViewController, dodasz tableView i Imageview Wpisz kod w kodzie tableView i podłącz go do tableView w Xib, połącz widok z UIView. Umieść zdjęcie na UIImageView i kliknij na imageView. Wybierz:

Editor> Ułóż> Przesuń na spód

W viewDidLoad sposobie UIViewController dodaj następujące linie:

self.tableView.backgroundColor = [UIColor clearColor]; 
self.tableView.opaque = NO; 

i pracował dla mnie :)

6

Obraz tła TableView

self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"your_image"]]; 

Nie zapomnij wpisać nazwy pliku z obrazem.PRZYKŁAD:

self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myPhoto.png"]]; 
0

/* set Backgroundimage w UITableView następująco */

UIImageView *imguser = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user"]]; 
[tblUser setBackgroundView:imguser];