最近一直在做weex的iOS APP,发现了不少坑,weex自带的model.toast可以模拟iOS的各种提示框信息,但是实际应用中发现在网页端显示正常,但在模拟器和真机上无法显示,找了很久也没发现有用的信息(weex相关的资料实在是太少了!),无意中发现了一篇文件完美解决这个问题。
方法一:如果App没有使用storyboard布局,可以删除Main.storyboard
首先删除Main.storyboard(有洁癖的肯定也会删除Xcode自动创建的ViewController),记住是移到废纸篓,而不是删除索引
然后删除Info.plist中的选项:Main storyboard file base name即可
方法二:修改WXModalUIModule.m中的方法如下即可:
- (void)toast:(NSString *)message duration:(double)duration
{
WXAssertMainThread();
UIView *superView = [[[UIApplication sharedApplication] windows] objectAtIndex:0];
if (!superView || superView.hidden) {
superView = [UIApplication sharedApplication].keyWindow;
}
if (!superView || superView.hidden) {
superView = self.weexInstance.rootView;
}
UIView *toastView = [self toastViewForMessage:message superView:superView];
WXToastInfo *info = [WXToastInfo new];
info.toastView = toastView;
info.superView = superView;
info.duration = duration;
[[WXToastManager sharedManager].toastQueue addObject:info];
if (![WXToastManager sharedManager].toastingView) {
[self showToast:toastView superView:superView duration:duration];
}
}