title: showInView is causing clipping
body: <p>So, I followed a tutorial concerning how to get a a UIDatePicker up instead of the keyboard when the user taps on a UITextField. The problem I'm getting is that when the picker comes up, it's clipped and it gives this message in the console:</p>
  
  <pre><code>Presenting action sheet clipped by its superview. Some controls might not respond to touches. On iPhone try -[UIActionSheet showFromTabBar:] or -[UIActionSheet showFromToolbar:] instead of -[UIActionSheet showInView:].
  </code></pre>
  
  <p>I tried the other methods but they didn't work either, nor did I expect them to. If anyone could take a look at the code below and offer some advice, that would be great. Thanks :)</p>
  
  <p>AddShiftViewController.h</p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  #import "AppDelegate.h"
  #import "Shift.h"
  
  @interface AddShiftsViewController : UIViewController &lt;UITextFieldDelegate&gt;
  
  @property (weak, nonatomic) IBOutlet UITextField *jobTitleField;
  @property (weak, nonatomic) IBOutlet UITextField *startDateField;
  @property (weak, nonatomic) IBOutlet UITextField *endDateField;
  
  @property (nonatomic, strong) NSDate *startDate;
  @property (nonatomic, strong) NSDate *endDate;
  
  @property (nonatomic, strong) UIActionSheet *dateSheet;
  
  - (void)setDate;
  - (void)dismissPicker;
  - (void)cancelPicker;
  
  - (IBAction)addShift:(id)sender;
  
  @end
  </code></pre>
  
  <p>AddShiftViewController.m</p>
  
  <pre><code>#import "AddShiftsViewController.h"
  
  @interface AddShiftsViewController ()
  
  @end
  
  @implementation AddShiftsViewController
  @synthesize jobTitleField;
  @synthesize startDateField;
  @synthesize endDateField;
  @synthesize startDate, endDate, dateSheet;
  
  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
      if (self) {
          // Custom initialization
      }
      return self;
  }
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      // Do any additional setup after loading the view.
  
      AppDelegate *dataCenter = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  }
  
  - (void)viewDidUnload
  {
      [self setJobTitleField:nil];
      [self setStartDateField:nil];
      [self setEndDateField:nil];
      [self setEndDate:nil];
      [self setStartDate:nil];
      [self setDateSheet:nil];
      [super viewDidUnload];
      // Release any retained subviews of the main view.
  }
  
  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  {
      return (interfaceOrientation == UIInterfaceOrientationPortrait);
  }
  
  - (IBAction)addShift:(id)sender {
      Shift *newShift = [[Shift alloc] init];
  }
  
  - (void)setDate {
      dateSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
  
      [dateSheet setActionSheetStyle:UIActionSheetStyleDefault];
  
      CGRect pickerFrame = CGRectMake(0, 44, 0, 0);
      UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame:pickerFrame];
      [picker setDatePickerMode:UIDatePickerModeDateAndTime];
  
      [dateSheet addSubview:picker];
  
      UIToolbar *controlToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, dateSheet.bounds.size.width, 44)];
  
      [controlToolBar setBarStyle:UIBarStyleDefault];
      [controlToolBar sizeToFit];
  
      UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
  
      UIBarButtonItem *setButton = [[UIBarButtonItem alloc] initWithTitle:@"Set" style:UIBarButtonItemStyleDone target:self action:@selector(dismissPicker)];
  
      UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelPicker)];
  
      [controlToolBar setItems:[NSArray arrayWithObjects:spacer, cancelButton, setButton, nil] animated:NO];
  
      [dateSheet addSubview:controlToolBar];
  
      [dateSheet showInView:self.view];
  
      [dateSheet setBounds:CGRectMake(0, 0, 420, 385)];
  }
  
  - (void)dismissPicker {
      NSArray *listOfViews = [dateSheet subviews];
      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [formatter setDateFormat:@"MMMM d, yyyy at H:mm"];
  
      for (UIView *subView in listOfViews) {
          if ([subView isKindOfClass:[UIDatePicker class]]) {
              if (self.startDateField.isEditing) {
                  self.startDate = [(UIDatePicker *)subView date];
                  [self.startDateField setText:[formatter stringFromDate:self.startDate]];
                  [dateSheet dismissWithClickedButtonIndex:0 animated:YES];
              }
              else if (self.endDateField.isEditing) {
                  self.endDate = [(UIDatePicker *)subView date];
                  [self.endDateField setText:[formatter stringFromDate:self.endDate]];
                  [dateSheet dismissWithClickedButtonIndex:0 animated:YES];
              }
          }
      }
  }
  
  -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
      [self setDate];
      return NO;
  }
  
  - (void)cancelPicker {
      [dateSheet dismissWithClickedButtonIndex:0 animated:YES];
  }
  
  @end
  </code></pre>
  
  <p>Shifts.h (custom class)</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  
  @interface Shift : NSObject
  
  @property (nonatomic, strong) NSString *jobTitle;
  @property (nonatomic, strong) NSString *employer;
  @property (nonatomic, strong) NSDate *startDate;
  @property (nonatomic, strong) NSDate *endDate;
  
  @end
  </code></pre>
  
  <p><strong><em>EDIT</em></strong></p>
  
  <p>So, I tried switching to:</p>
  
  <pre><code>[dateSheet showFromTabBar:self.tabBarController.tabBar];
  </code></pre>
  
  <p>But it still is clipping. I've attached a picture to show you exactly what's happening.</p>
  
  <p><img src="https://i.stack.imgur.com/lrV38.png" alt="enter image description here"></p>