iPad UIPopoverControllerd出窗口的位置和坐标

iPad UIPopoverControllerd出窗口的位置和坐标,第1张

概述 TodoViewController *contentViewController = [[TodoViewController alloc] init];     UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:contentVie  TodoVIEwController *contentVIEwController = [[TodoVIEwController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootVIEwController:contentVIEwController];
    navigationController.contentSizeforVIEwInPopover = CGSizeMake(100,100); //内容大小
    
    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentVIEwController:navigationController];
    popover.popoverContentSize = CGSizeMake(300,300); //d出窗口大小,如果屏幕画不下,会挤小的。这个值默认是320x1100
    
    CGRect popoverRect = CGRectMake(200,700,10,10);
    [popover presentPopoverFromrect:popoverRect  //popoverRect的中心点是用来画箭头的,如果中心点如果出了屏幕,系统会优化到窗口边缘
                             inVIEw:self.vIEw //上面的矩形坐标是以这个vIEw为参考的
           permittedArrowDirections:UIPopoverArrowDirectionDown  //箭头方向
                           animated:YES];
    
    [contentVIEwController release];
    [navigationController release];
    

    //最佳实践,使用哪个vIEw做参考,就以哪个vIEw的bounds送进去就好了,箭头自动指向这个vIEw的中心。

[popover presentPopoverFromrect:((UIVIEw *)tablevIEw).frame//popovertablevIEw视图相关联

                             inVIEw:self.vIEw

           permittedArrowDirections:UIPopoverArrowDirectionUp//箭头方向

                           animated:YES];


popover.popoverContentSize = CGSizeMake(300,300); //d出窗口大小。这个没什么好说的,就是大小,当然不能超过屏幕。

[popover presentPopoverFromrect: CGRectMake(x0,y0,x1,y1);

inVIEw:self.vIEw

  permittedArrowDirections:UIPopoverArrowDirectionDown  //箭头方向

  animated:YES];

上面是基本代码,大小没什么可说的。主要是下面这个 CGRectMake(x0,y1) 函数的四个参数。
先看名字presentPopoverFromrect,from矩形,什么意思,就是说这个popover是出自,来自这个矩形,形象地说就是这个矩形产生出一个用箭头指向的popover.看下面的图,无非这四种情况。这里的四个参数,就是下图中小矩形的参数,大矩形就是
popover。看图就是简单明了,直接了当,不要再说什么矩形中点了,只要确定了小矩形,确定了箭头方向(相对于大矩形),就确定了popover的位置。一般这个小矩形都是button,item什么的。



最后需要注意的是iPad的状态栏20个像素,导航栏44个像素,如果不准确的话,考虑一下二者的因素。一般情况下如果能准确定位图中的三角箭头的顶角的坐标,直接就用它作为前两个参数,而后两个参数为0就可以了,这就把矩形缩小为一个点了,也是正确的。Over!


多个UIPopoverController的切换问题 情况描述:多个button控制对应的UIPopoverController,当一个UIpopverController_A打开的时候,点击button_B去打开另外一个UIPopverContrller_B,每次都需要点击两下才能打开,(我的理解)第一次只是关闭UIpopverController_A,第二次才是打开UIPopverContrller_B。
解决方法: UIPopoverController * poper...

UIbutton * BtnA...

NSArray *array=[NSArray arrayWithObjects:BtnA,BtnB,BtnC,BtnD,BtnE,BtnF,BtnG,BtnH];

poper.passthroughVIEws=array;

设置passthroughVIEws为这个数组就可以了~


UIPopoverController如何改变边框颜色? http://www.cocoachina.com/bbs/simple/?t25154.HTML 总结

以上是内存溢出为你收集整理的iPad UIPopoverControllerd出窗口的位置和坐标全部内容,希望文章能够帮你解决iPad UIPopoverControllerd出窗口的位置和坐标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存