title: Customizing UIPickerView (background and spacing)
body: <p>I would like to change the white background in a UIPickerView to an image of my own.</p>
  
  <p>Is this possible?</p>
  
  <p>Also, I have managed to get my UIPickerView to scroll horizontally instead of vertical. Now, I would like to know if there is any way to adjust the spacing between two rows of the picker view?</p>
  
  <p>I have attached an image to show what I mean.</p>
  
  <p>This is my code:</p>
  
  <pre><code>- (void)viewDidLoad
  {
      [super viewDidLoad];
      // Do any additional setup after loading the view from its nib.
  
      arrayDays = [[NSMutableArray alloc] init];
      [arrayDays addObject:@"ONSDAG"];
      [arrayDays addObject:@"TORSDAG"];
      [arrayDays addObject:@"FREDAG"];
      [arrayDays addObject:@"LØRDAG"];
  
      arrayDates = [[NSMutableArray alloc] init];
      [arrayDates addObject:@"29. JUNI"];
      [arrayDates addObject:@"30. JUNI"];
      [arrayDates addObject:@"1. JULI"];
      [arrayDates addObject:@"2. JULI"];
  
      pickerViewDay = [[UIPickerView alloc] initWithFrame:CGRectZero];
      [pickerViewDay setDelegate:self];
      [pickerViewDay setShowsSelectionIndicator:NO];
      CGAffineTransform rotate = CGAffineTransformMakeRotation(-M_PI/2);
      rotate = CGAffineTransformScale(rotate, 0.25, 2.0);
      [pickerViewDay setTransform:rotate];
      [pickerViewDay setCenter:CGPointMake(self.view.frame.size.width/2, (pickerViewDay.frame.size.height/2)-3)];
      [self.view addSubview:pickerViewDay];
  
      // Adding selection indicator to pickerview
      UIImage *selectorImage = [UIImage imageNamed:@"DayPickerView_SelectionIndicator.png"];
      UIView *customSelector = [[UIImageView alloc] initWithImage:selectorImage];
      [customSelector setFrame:CGRectMake(0, 0, 120, 74)];
      [customSelector setCenter:CGPointMake(self.view.frame.size.width/2, customSelector.frame.size.height/2)];
      [self.view addSubview:customSelector];
      [customSelector release];
  
      // Adding background to pickerview
      UIImage *backgroundImage = [UIImage imageNamed:@"DayPickerView_Background.png"];
      UIView *custombackground = [[UIImageView alloc] initWithImage:backgroundImage];
      [custombackground setFrame:CGRectMake(0, 0, 320, 74)];
      // [self.view addSubview:custombackground];
      [custombackground release];
  }
  
  - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
      UIView *viewRow = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 150, 80)];
  
      CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14/2);
      rotate = CGAffineTransformScale(rotate, 0.25, 2.0);
  
      // Date
      CGRect rectDate = CGRectMake(30, 0, 150, 80);
      UILabel *date = [[UILabel alloc]initWithFrame:rectDate];
      [date setTransform:rotate];
      [date setText:[arrayDates objectAtIndex:row]];
      [date setFont:[UIFont fontWithName:@"Arial-BoldMT" size:37.0]];
      [date setShadowColor:[UIColor whiteColor]];
      [date setShadowOffset:CGSizeMake(0, -1)];
      [date setTextAlignment:UITextAlignmentCenter];
      [date setBackgroundColor:[UIColor clearColor]];
      [date setClipsToBounds:YES];
      [viewRow addSubview:date];
  
      // Day
      CGRect rectDay = CGRectMake(-30, 0, 150, 80);
      UILabel *day = [[UILabel alloc]initWithFrame:rectDay];
      [day setTransform:rotate];
      [day setText:[arrayDays objectAtIndex:row]];
      [day setFont:[UIFont fontWithName:@"Arial-BoldMT" size:21.0]];
      [day setTextColor:[UIColor colorWithRed:0.35 green:0.35 blue:0.35 alpha:1]];
      [day setTextAlignment:UITextAlignmentCenter];
      [day setBackgroundColor:[UIColor clearColor]];
      [day setClipsToBounds:YES];
      [viewRow addSubview:day];
  
      return viewRow;
  }
  
  - (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
      return [arrayDays objectAtIndex:row];
  }
  
  - (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
      return [arrayDays count];
  }
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/1fUiZ.png" alt="Example"></p>
  
  <p><strong>EDIT 1</strong></p>
  
  <p>For RickiG (on background):</p>
  
  <p><img src="https://i.stack.imgur.com/aqN5s.png" alt="@RickiG: Backgrounds are messed up and there are gaps"></p>
  
  <p><strong>EDIT 2</strong></p>
  
  <p>For RickiG:</p>
  
  <p><img src="https://i.stack.imgur.com/gyZoh.png" alt="@RickiG: Gaps in each side of the pickerview"></p>