Reputation: 1588
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 ??
Upvotes: 11
Views: 30373
Reputation: 71
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.
Upvotes: 1
Reputation: 9876
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.
Upvotes: 26
Reputation: 21
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
Upvotes: 2
Reputation: 13180
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;
}
Upvotes: 1
Reputation: 2589
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
Upvotes: 0
Reputation: 1699
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
Upvotes: 0