弹出MasterViewController的正确方法

We may meet the case that we wanna pop the leftViewController programmatically in the landscape mode. One way to do this

UIBarButtonItem *masterButton =  [[UIBarButtonItem alloc] initWithTitle:@"Menu" style:UIBarButtonItemStyleBordered target:self.splitViewController action:@selector(toggleMasterVisible:)];

 However, this method is using a private API toggleMasterVisible provided by the apple, so it may get reject for your app when you try to upload it into the store.

 

A correct way to do so is

 

//Show:

    [[self masterPopoverController] presentPopoverFromBarButtonItem:[self masterPopoverBarButtonItem] permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];


//Hide:

    if ([[self masterPopoverController] isPopoverVisible])
    {
      [[self masterPopoverController] dismissPopoverAnimated:YES];
    }

 

posted @ 2014-02-28 00:15  Tooood  阅读(455)  评论(0)    收藏  举报