2012-07-11 44 views
11

Tôi đã tạo chế độ xem bộ chọn mẫu sẽ hiển thị một số chi tiết. Đặt màu nền bằng cách sử dụng:UIPickerView tùy chỉnh với màu nền tùy chỉnh

_pickerView.backgroundColor = [UIColor redColor]; 

dường như không hoạt động. Nhưng tôi ước gì có thể tạo ra một cái nhìn bảng chọn như hình dưới đây

enter image description here

Những gì tôi đang cố gắng làm là, màu nền PickerView toàn không nên có màu trắng, cần điền với UIColor mà ta ban cho . Điều đó có thể không?? Làm thế nào nó có thể được thực hiện ??

+0

bạn muốn thay đổi màu lựa chọn của bộ chọn hoặc màu của toàn bộ bg? – PJR

+0

Tôi muốn thay đổi màu Toàn bộ màu trắng bây giờ. Ngay cả màu đã chọn (nhưng hãy để tôi làm BG đầu tiên sau này, tôi cũng sẽ đổi màu đã chọn) – Perseus

+0

kiểm tra liên kết đã đăng sẽ giải quyết vấn đề của bạn. – Kuldeep

Trả lời

27

bổ sung câu trả lời của Nina, dưới đây là một số các tùy chỉnh Picker kiểm soát tầm nhìn đẹp mà sẽ là tốt để sử dụng về hiệu suất và tùy chỉnh.

  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 (ngang PickerView)
+0

http://heidibrebels.be/blog/archives/2012/custom-uipickerview-selectionindicator Cái này thực sự tuyệt vời !! Cảm ơn bạn đã chia sẻ nó !! – Nina

+0

@Nina: cảm ơn ... Nếu bạn thực sự thích nó .. sau đó bạn có thể bỏ phiếu cho câu trả lời này ... – DShah

+0

Ha ha ... Có phải người đàn ông :-) – Nina

1

Bạn có thể thay đổi màu đã chọn bằng cách đặt ô xem bảng trong đó.

- (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

Không. Không. Điều này thay đổi màu đỏ thành không. các mục có trong UIPicker. Nếu tôi cuộn xuống.Cuối cùng, tôi có thể thấy rằng, màu trắng đang đến. Tôi chỉ muốn thay đổi màu BG đầy đủ của UIPickerView, màu trắng bây giờ. – Perseus

+0

xem câu trả lời này 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 có các bản xem trước. Gán một hình ảnh cho một khung nhìn và thêm nó vào khung nhìn con tại chỉ mục 2, sẽ thay đổi nền của pickerview.

Tôi đã gặp vấn đề tương tự :-) Xem câu hỏi của tôi tại đây !! Customize UIPickerView's Skin with images

Hoặc bạn có thể sử dụng AFPickerView

0

API không cung cấp một cách để thay đổi phong cách và màu sắc lựa chọn quay số. Bạn chỉ có thể thay đổi chế độ xem bên trong của bộ chọn như thế nào bạn muốn thiết kế. Do UIPickerView không có UI_APPEARANCE_SELECTOR.

Kiểm tra liên kết bên dưới sẽ giúp bạn. Custom iOS UIDatepicker using UIAppearance

2

Tôi đã viết chế độ xem bộ chọn tùy chỉnh sử dụng UITableView làm điểm bắt đầu. Cảm thấy tự do để tùy chỉnh nó tuy nhiên bạn muốn.

https://github.com/derekju/DjuPickerView

1

Thật khó để tùy chỉnh UIPickerView.

Bạn có thể chọn sử dụng giao diện mặc định hoặc cố gắng mô phỏng UIPickerView bằng cách sử dụng thành phần UIKit khác như UITableView. Có một số libs đang sử dụng UITableView để mô phỏng một UIPickerView linh hoạt hơn.

Các vấn đề liên quan