How can I have a popover come from a tab instead of a view

后端 未结 1 1230
你的背包
你的背包 2020-12-22 03:00

I have a tabbar app, and I want a popover to come from one of the tabs. Is there a good/easy way to do this without changing views?

相关标签:
1条回答
  • 2020-12-22 03:09

    There isn't currently a way to directly (through a supported api call) get the frame of a specific tab bar item. What I do is just show the popup from the left end of the tab bar like this:

    CGFloat tabBarHeight = self.tabBarController.tabBar.bounds.size.height;
    CGRect rect = CGRectMake(0, 0, tabBarHeight, tabBarHeight);
    [popoverController presentPopoverFromRect:rect 
        inView:self.tabBarController.tabBar 
        permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
    

    You could try to estimate the position of the tab bar item taking the current orientation into account if you really wanted to and adjust the X coordinate of the rect above.

    You could also look through the subviews of the tabbar and find the UITabBarButton object but that's not documented so it's not recommended.

    0 讨论(0)
提交回复
热议问题