title: Transparent UITableViewHeaderFooterView
body: <p>I'm trying to make a custom header view for this <code>UITableView</code> and I'd like it to be transparent.</p>
  
  <p>My code...</p>
  
  <p>Interface...</p>
  
  <pre><code>typedef void(^ActionBlock)();
  
  @interface MyViewHeaderView : UITableViewHeaderFooterView
  
  @property (nonatomic, strong) UIImageView *flagImageView;
  @property (nonatomic, strong) UILabel *leagueNameLabel;
  
  @property (nonatomic, copy) ActionBlock tapAction;
  
  @end
  </code></pre>
  
  <p>Implementation...</p>
  
  <pre><code>#import "MyViewHeaderView.h"
  
  @interface MyViewHeaderView ()
  
  @end
  
  @implementation MyViewHeaderView
  
  - (id)initWithReuseIdentifier:(NSString *)reuseIdentifier
  {
      self = [super initWithReuseIdentifier:reuseIdentifier];
      if (self) {
          // Add customisation here...
  
          // I have tried everything here...
          self.tintColor = [UIColor colorWithWhite:0.961 alpha:1.0];
          self.alpha = 0.5;
  
          // self.contentView.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5];
          // self.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5];
          // can't remember what else.
          // none of it makes it transparent. It sets the colour against
          // a white background. i.e. 50% transparent but with a white opaque background.
          // so I can't see the content of the table scrolling behind it.
  
          self.flagImageView = [[UIImageView alloc] init];
          self.flagImageView.image = [UIImage imageNamed:@"placeholder_flag"];
          [self.flagImageView setTranslatesAutoresizingMaskIntoConstraints:NO];
          [self.contentView addSubview:self.flagImageView];
  
          self.leagueNameLabel = [[UILabel alloc] init];
          [self.leagueNameLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
          [self.contentView addSubview:self.leagueNameLabel];
  
          UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped)];
          tapGestureRecognizer.numberOfTapsRequired = 1;
          tapGestureRecognizer.numberOfTouchesRequired = 1;
          [self.contentView addGestureRecognizer:tapGestureRecognizer];
  
          [self setupConstraints];
      }
      return self;
  }
  
  - (void)setupConstraints
  {
      // adding constraints...
  }
  
  - (void)viewTapped
  {
      self.tapAction();
  }
  
  @end
  </code></pre>
  
  <p>In my <code>UITableViewDelegate</code> I'm loading the header like...</p>
  
  <pre><code>- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
  {
      MyViewHeaderView *headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"HeaderView"];
  
      League *league = self.leagues[(NSUInteger) section];
  
      headerView.leagueNameLabel.text = league.name;
      headerView.tapAction = ^(){
          [self leagueTapped:league];
      };
  
      return headerView;
  }
  </code></pre>
  
  <p>This is working fine, the header is showing properly. Just without transparency.</p>
  
  <p>I'd like to have a header view like the standard view where you can see the table view content scrolling behind it.</p>
  
  <p>Please can you let me know how to do this.</p>