问题
I have created a sample picker-view which will display some details. Setting the Background color using:
_pickerView.backgroundColor = [UIColor redColor];
doesn't seems to be working . But I wish I could create a picker view like the below image
What I was trying to do is , the entire PickerView background color should not be white, it should fill with the UIColor
which I am giving. Is that possible?? How it can be done ??
回答1:
Addition to Nina's answer, below are some of the good custom Picker view controls which will be good to use in terms of performance and customizable.
- http://www.cocoacontrols.com/platforms/ios/controls/cppickerview
- http://www.cocoacontrols.com/platforms/ios/controls/afpickerview
- http://www.cocoacontrols.com/platforms/ios/controls/v8horizontalpickerview (Horizontal PickerView)
回答2:
I wrote a custom picker view that uses a UITableView as it's starting point. Feel free to customize it however you want.
https://github.com/derekju/DjuPickerView
回答3:
You can change selected color by putting tableview cell in it.
- (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;
}
回答4:
It is hard to customize a UIPickerView.
You might opt to use it in its default appearance or trying to simulate a UIPickerView using another UIKit component such as UITableView. There are some libs that are using UITableView to simulate a more flexible UIPickerView.
回答5:
UIPickerView has subviews. Assigning an image to a view and adding it to the subview at index 2, would change the background of pickerview.
I had had a same kinda problem :-) See my question here!! Customize UIPickerView's Skin with images
Or you can use AFPickerView
回答6:
The API does not provide a way to change the style and color of selection dialer. You can change only inner view of the picker how u want to design. As the UIPickerView don't have the UI_APPEARANCE_SELECTOR.
Check out below link will help you out. Custom iOS UIDatepicker using UIAppearance
来源:https://stackoverflow.com/questions/11426219/custom-uipickerview-with-custom-background-color