pikacode/EBBannerView

急急急,你的window层怎么写的没看明白,压栈在了UIwindow后面?现在用了你的view,keywindow直接拿到的是你的window,怎么解决

leaDongYang opened this issue · 6 comments

是这样,加上你的代码后,keywindow获取到的不是系统的keywindow了,而是你的sharewindow,怎么解决

建议,在显示完毕以后,辞去keywindow,否者影响图层了

@leaDongYang 收到,我检查一下,如果确实存在问题我会尽快解决

@leaDongYang 我这里并没有出现你说的问题

(lldb) po UIApplication.sharedApplication.keyWindow
<UIWindow: 0x7f9df650ff10; frame = (0 0; 414 736); autoresize = W+H; gestureRecognizers = <NSArray: 0x600000248460>; layer = <UIWindowLayer: 0x60000002c060>>

(lldb) po UIApplication.sharedApplication.windows
<__NSArrayM 0x60800024c7e0>(
<UIWindow: 0x7f9df650ff10; frame = (0 0; 414 736); autoresize = W+H; gestureRecognizers = <NSArray: 0x600000248460>; layer = <UIWindowLayer: 0x60000002c060>>,
<EBBannerWindow: 0x7f9df6419bd0; baseClass = UIWindow; frame = (0 0; 0 0); gestureRecognizers = <NSArray: 0x60800024c1e0>; layer = <UIWindowLayer: 0x60800002aa60>>
)

你的问题应该可以通过 UIApplication.sharedApplication.windows 获取到你原先的 window 并且调用 [window makeKeyAndVisible] 解决
在 EBBannerWindow.m 24 行的位置已经对你说的问题进行过处理,你出现这种问题可能是创建 banner 的时候过早,app 还没有 keywindow,导致 banner 没有辞去

可能是因为我是在你的shareWindow显示的时候获取的keywindow,那么可以问下楼主keywindow的机制是个啥呀,我看到你在单例window中,已经辞去keywindow,但是我确实遇到了这样的问题导致我添加的keywindow层视图放在了sharewindow层,并且系统window响应了sharewindow的触摸事件

如果需要的话,我可以给你提供截图或者视频

@leaDongYang 加 qq 57380422