美文网首页iPad
iPad开发中的弹框接口UIPopoverController

iPad开发中的弹框接口UIPopoverController

作者: 黑羽肃霜 | 来源:发表于2016-11-01 17:11 被阅读82次

iPad特有的弹框接口

UIPopoverController用来实现弹框,有两种方式。
UIPopoverController是一个弹出框,弹出的内容,是一个UIViewController

直接通过代码创建

    UIStoryboard *stb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    DIYViewCtrl *vc   = [stb instantiateViewControllerWithIdentifier:@"DIY"];
    
    UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:vc];
    [pop presentPopoverFromRect:self.button.bounds
                         inView:self.view
       permittedArrowDirections:UIPopoverArrowDirectionUp
                       animated:YES];
  • UIPopoverController是可以通过指定contentSize来指定弹出框的大小的。但是建议直接通过storyboard来绘制一个合适大小的ViewController,弹出时用这个大小就好了。也比较直观
  • 初始化的时候需要指定你弹出的这个ViewController对应的是哪一个
  • 最后来说一下弹框的method
-(void)presentPopoverFromRect:(CGRect)rect
                       inView:(UIView *)view
     permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections
                     animated:(BOOL)animated;
1
* rectinView如上提示
* permittedArrowDirections 表示弹出框的箭头方向。比如说 directionup,就表示从当前这个锚点向下弹出
  • 完成上述的指定后,弹出框的效果就会如下所示


    2

直接在storyboard上通过拖曳添加

直接上图说明

  • 从控件中按住ctrl拖曳到指定的viewcontroller
    3
  • 在对应位置指定锚点anchor
    • 这里的anchor和上面代码创建中提到的anchor不是一回事,这里的anchor指的是弹出框那个箭头从哪里探出来
    • 方法是直接去新建一个1x1大小的UIView,放在你需要他弹出的位置即可。
      4

混合使用

我们可以在Storyboard中去新建一个1x1大小的UIView作为弹框的锚点供代码创建时使用。
代码创建会繁琐一些,但是我们在需要传递那个popover所容纳的viewcontroller时可以传递我们需要的消息给viewcontroller。这一点是用storyboard无法实现的。
除此之外,简单的创建弹框提示板,还是可以直接用故事板做的。

相关文章

网友评论

    本文标题:iPad开发中的弹框接口UIPopoverController

    本文链接:https://www.haomeiwen.com/subject/snbmuttx.html