2012-07-11 18 views
11

Utworzono próbny widok pobierania, który wyświetla niektóre szczegóły. Ustawienie koloru tła za pomocą:Niestandardowy UIPickerView z niestandardowym kolorem tła

_pickerView.backgroundColor = [UIColor redColor]; 

wydaje się nie działać. Ale chciałabym utworzyć widok kompletacji jak na poniższym obrazie

enter image description here

Co starałem się zrobić to, cały kolor PickerView tła nie powinny być białe, należy wypełnić z UIColor który daję . Czy to jest możliwe?? Jak to zrobić?

+0

chcesz zmienić wybrany kolor picker lub kolor całego bg? – PJR

+0

Chcę zmienić kolor Whole BG, który jest teraz biały. Nawet wybrany kolor (ale pozwól mi zrobić BG najpierw później zmienię również wybrany kolor) – Perseus

+0

sprawdź opublikowany link rozwiąże twój problem. – Kuldeep

Odpowiedz

27

oprócz odpowiedzi Niny, poniżej niektóre z dobrych zwyczaj kompletowania widzenia kontroli, które będą dobre do wykorzystania pod względem wydajności i konfigurowalny.

  1. http://www.cocoacontrols.com/platforms/ios/controls/cppickerview
  2. http://www.cocoacontrols.com/platforms/ios/controls/afpickerview
  3. http://www.cocoacontrols.com/platforms/ios/controls/v8horizontalpickerview (Horizontal PickerView)
+0

http://heidibrebels.be/blog/archives/2012/custom-uipickerview-selectionindicator Ten jest naprawdę fajny !! Dzięki za podzielenie się tym !! – Nina

+0

@Nina: dzięki ... Jeśli naprawdę ci się podobało ... to możesz głosować na tę odpowiedź ... – DShah

+0

Ha ha ... Czy to człowiek :-) – Nina

1

Możesz zmienić wybrany kolor, umieszczając w nim komórkę widoku tabeli.

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { 
UITableViewCell *cell = (UITableViewCell *)view; 

if(cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease]; 
    [cell setBackgroundColor:[UIColor redColor]]; 

    [cell setBounds: CGRectMake(0, 0, cell.frame.size.width -20 , 44)]; 
    cell.textLabel.text = [self.userNameArray objectAtIndex:row]; 
    cell.userInteractionEnabled = NO; 
} 

return cell; 
} 
+1

Nie Nie. To zmienia czerwony kolor na nr. przedmiotów obecnych w UIPicker. Jeśli przewińę w dół.Na koniec widzę, że zbliża się biały kolor. Chcę zmienić tylko pełny kolor BG z UIPickerView, który jest teraz biały. – Perseus

+0

spójrz na tę odpowiedź http://stackoverflow.com/questions/965375/change-uipickerview-background – PJR

+0

http://stackoverflow.com/questions/1968288/how-to-change-the-background-color-in-uipickerview – PJR

0

UIPickerView ma subviews. Przypisanie obrazu do widoku i dodanie go do podglądu w indeksie 2 spowoduje zmianę tła podglądu.

Miałem taki sam problem :-) Zobacz moje pytanie tutaj !! Customize UIPickerView's Skin with images

Albo można użyć AFPickerView

0

API nie zapewnia sposób zmienić styl i kolor zaznaczenia dialera. Możesz zmienić tylko wewnętrzny widok selektora, jaki chcesz zaprojektować. Ponieważ UIPickerView nie ma interfejsu UI_APPEARANCE_SELECTOR.

Sprawdź poniżej link pomoże Ci. Custom iOS UIDatepicker using UIAppearance

1

Trudno dostosować UIPickerView.

Możesz użyć go w domyślnym wyglądzie lub spróbować symulować UIPickerView przy użyciu innego komponentu UIKit, takiego jak UITableView. Istnieje kilka bibliotek, które używają UITableView do symulacji bardziej elastycznego UIPickerView.