IOS悬浮窗口之——Popover实现原理分析

IOS悬浮窗口之——Popover实现原理分析,第1张

概述目前那些popover的menu,loadingview之类的都是搞view,可以解决。但显示的时候其实挺麻烦的,得先保证全屏,在addsubview,消失时又得removefromsuperview,还得保证这个view在最上层,代码得可重用度也不高。 其实iphone程序是支持多窗口显示得,而且还支持分层显示,就是设置window得windowlevel。Mac上有类似的属性可以得到很多不同效 目前那些popover的menu,loadingvIEw之类的都是搞vIEw,可以解决。但显示的时候其实挺麻烦的,得先保证全屏,在addsubvIEw,消失时又得removefromsupervIEw,还得保证这个vIEw在最上层,代码得可重用度也不高。

其实iphone程序是支持多窗口显示得,而且还支持分层显示,就是设置window得windowlevel。Mac上有类似的属性可以得到很多不同效果的window显示。

那我们完全可以alloc一个window,并让之成为keywindow,那么所有的touch事件都会被它捕获到。并且它是个vIEw啊,那就可以addsubvIEw,可以设置backgroundcolor,那么问题就简单了,大家应该可以理解ipad 上的popoverwindow原理了。

那就是生成一个fullscreen的windowlevel为UIWindowAlertLevel的window,且backgroundcolor为clearcolor,然后把要显示的controller的vIEw加到subvIEw,并且在drawrect中围绕这个vIEw的周围画上边框,在d出点画上个箭头,最后以动画的方式显示出来就好啦,然后点击window空白地方时让它动画消失即可。

@H_403_28@那UIAlertVIEw就更简单了,虽然它是继承自UIVIEw,但它的实现应该跟UIWindow差不到哪里去,其实它内部也应该是个window,根据不同的subvIEws设置不同的内容高度,调整内容的size等。

@H_403_28@

@H_403_28@代码实现地址:http://www.cocoachina.com/bbs/read.PHP?tID-30657.HTML

总结

以上是内存溢出为你收集整理的IOS悬浮窗口之——Popover实现原理分析全部内容,希望文章能够帮你解决IOS悬浮窗口之——Popover实现原理分析所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1093314.html

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

发表评论

登录后才能评论

评论列表(0条)

保存