Weex在iOS中toast无法显示的问题

遇到这个问题,其实不是没有显示,而是view的层级关系问题导致toastView被覆盖了,这是Weex的iOS SDK问题,这里我们做一下修改:
1、找到源码中的WXModalUIModule.m文件
2、找到方法
(void)toast:(NSString *)message duration:(double)duration
3、第二行的
UIView *superView = [[[UIApplication sharedApplication] windows] objectAtIndex:0];
改成
UIView *superView = [[[UIApplication sharedApplication] windows] lastObject];
搞定!

2018-04-09 最新更新
在一台测试机版本为11.0.1中测试又出现了无法显示的问题,但是在11.3中是可以显示,调试后发现lastObject这个方法在11.0.1中获取到的对象为UIInteractiveHighlightEffectWindow,而11.3中获取到的为UITextEffectsWindow,网上找了些资料,确实有说iOS11下会有视图添加不上的问题,现又将原有方法做一下修改:
UIView *superView = [UIApplication sharedApplication].keyWindow;
这样一来,在iOS11.0.1和iOS11.3中测试通过,在模拟器9.0中也测试通过,应该没有问题了

你可能感兴趣的:(Weex在iOS中toast无法显示的问题)