title: Custom UITextView PlaceHolder Not Erasing At Keyboard Entry
body: <p>I have researched how to manually include a PlaceHolder Text in UITextView (as there are many on StackOverflow), however, whenever I click on the TextView and start typing, it does not erase the placeholder, and I am not sure why. Any help is appreciated! Thanks!</p>
  
  <pre><code>#import "HusbandryAddRecord.h"
  #import &lt;QuartzCore/QuartzCore.h&gt;
  
  @interface HusbandryAddRecord()
  
  @end
  
  @implementation HusbandryAddRecord
  
  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
      if (self) {
      }
      return self;
  }
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      [scroller setScrollEnabled:YES];
      [scroller setContentSize:CGSizeMake(320, 601)];
  
      // Round The Corners of the Notes TextView
      notesTV.clipsToBounds = YES;
      notesTV.layer.cornerRadius = 10.0f;
  
      placeholderLabel = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 0.0, notesTV.frame.size.width - 20.0, 34.0)];
      [placeholderLabel setText:@"Notes"];
      [placeholderLabel setBackgroundColor:[UIColor clearColor]];
      [placeholderLabel setFont:[UIFont fontWithName:@"System" size:14.0]];
      [placeholderLabel setTextColor:[UIColor lightGrayColor]];
  
      [notesTV addSubview:placeholderLabel];
  }
  
  - (void)viewDidUnload
  {
      [notesTV release];
      notesTV = nil;
      [super viewDidUnload];
      // Release any retained subviews of the main view.
  }
  
  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  {
      return (interfaceOrientation == UIInterfaceOrientationPortrait);
  }
  
  - (void)dealloc {
      [notesTV release];
      [super dealloc];
  }
  
  - (void) textViewDidChange:(UITextView *)theTextView {
      if(![theTextView hasText]) {
          [theTextView addSubview:placeholderLabel];
          [placeholderLabel setText:@"Notes"];
      }
  
       else if ([[theTextView subviews] containsObject:placeholderLabel]) {
          [placeholderLabel removeFromSuperview];
      }
  }
  
  - (void)textViewDidEndEditing:(UITextView *)theTextView {
      if (![theTextView hasText]) {
          [theTextView addSubview:placeholderLabel];
      }
  }
  
  @end
  </code></pre>