uiBarButtonItem框架在popover最好的选择

Jac*_*ood 2 uibarbuttonitem uipopovercontroller ios ios5 ios6

我拖动了+在Story板上删除了一个barButtonItem并且一直使用这个popover代码但是

[popoverController presentPopoverFromRect:self.barButonItem.frame 
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];     
Run Code Online (Sandbox Code Playgroud)

barButtonItem.frame不起作用,因为没有可用的框架属性.

让它完美运作的最佳选择是什么?
提前致谢.

目前我正在使用此代码:我正在使用此方法:

- (IBAction)buttonClicked:(UIBarButtonItem *)sender event:(UIEvent *)event
{
    UIView *viewt = [[UIView alloc] init]; 

    for(UITouch* touch in [event allTouches] ) 
    {
      if( [touch phase] == UITouchPhaseEnded ) 
      { 
         viewt = [touch view]; 
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

self.barButtonItem.frame将成为viewt.frame.

它现在工作.这是对的吗 ?

//create a popover controller with my DatePickerViewController in it


UIViewController* popoverContent = [[UIViewController alloc] init]; //ViewController

UIView *popoverView = [[UIView alloc] init];   //view
popoverView.backgroundColor = [UIColor blackColor];

datePicker=[[UIDatePicker alloc]init];//Date picker
datePicker.frame=CGRectMake(0,44,320, 216);
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker setMinuteInterval:5];
[datePicker setTag:10];
[datePicker addTarget:self action:@selector(Result) forControlEvents:UIControlEventValueChanged];
[popoverView addSubview:datePicker];

popoverContent.view = popoverView;
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate=self;



[popoverController setPopoverContentSize:CGSizeMake(320, 264) animated:NO];
[popoverController presentPopoverFromRect:self.barButtonItem.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];    
Run Code Online (Sandbox Code Playgroud)

cha*_*yWu 6

我想你可以[popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];直接使用.