2016-12-23 23:45:00 weixin_34194087 阅读数 29
  • 最新完整react教程从入门到精通包教包会

    课程概述: React是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。 学习技巧: 学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了。 此react课程以面试和实战为基础进行讲解,每个知识点都会让你知道在实际项目开发中如何使用,学习后,可以开发大型项目,增强逻辑思维,至少让你拥有3年以上开发经验的实力! 免费提供《完整实战项目接口文档》,绝对可用!

    9019 人正在学习 去看看 李杰

(1)解决方案

http://stackoverflow.com/questions/36572537/cordova-ios-blank-iframe/36587026

 

在 index.html中配置meta

<meta http-equiv="Content-Security-Policy" 
content="default-src *; frame-src *; style-src * 'self' 'unsafe-inline' 'unsafe-eval'; 
script-src * 'self' 'unsafe-inline' 'unsafe-eval';">

 

context-security-policy中详细请查看:

https://content-security-policy.com/

 

(2)在config.xml中配置

<access origin="*" subdomains="true" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />

 

以上就可以在 iphone 通过 iframe导入,但是别忘记,argularjs中的把url设置为可信源

$sce.trustAsResourceUrl(url)

 (3)cordova+ionic+argular  在android中

让滚动条仍然存在

但是隐藏,可使用下面的CSS

::-webkit-scrollbar, *::-webkit-scrollbar { display: none; }

转载于:https://www.cnblogs.com/fujinliang/p/6216457.html

2017-01-05 13:51:15 autom_lishun 阅读数 5932
  • 最新完整react教程从入门到精通包教包会

    课程概述: React是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。 学习技巧: 学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了。 此react课程以面试和实战为基础进行讲解,每个知识点都会让你知道在实际项目开发中如何使用,学习后,可以开发大型项目,增强逻辑思维,至少让你拥有3年以上开发经验的实力! 免费提供《完整实战项目接口文档》,绝对可用!

    9019 人正在学习 去看看 李杰

近日工程中有用到webview加载网页,有两个入口可以进入到含有webview的controller, 打开webView的URL中含有中文字段,加载后webView显示白屏,后来发现iOS webView加载的URL中不可以有中文符号,解决办法就是将中文符号UTF8转码,代码如下:

    UIWebView *webview = [[UIWebView alloc]init];

    webview.frame = CGRectMake(0, 0, screenWidth,screenHeight);

    webview.delegate=self;

    [self.view addSubview:webview];    

    NSString *urlString =[[NSString stringWithFormat:@"http://api.map.baidu.com/marker?location=%@,%@&title=%@&content=%@&output=html",_latitude,_longitude,@"标题",@"地址"]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSURL *url = [NSURL URLWithString:urlString];

    [webview loadRequest:[NSURLRequest requestWithURL:url]];



2018-01-29 10:26:08 rainbowFactory 阅读数 2745
  • 最新完整react教程从入门到精通包教包会

    课程概述: React是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。 学习技巧: 学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了。 此react课程以面试和实战为基础进行讲解,每个知识点都会让你知道在实际项目开发中如何使用,学习后,可以开发大型项目,增强逻辑思维,至少让你拥有3年以上开发经验的实力! 免费提供《完整实战项目接口文档》,绝对可用!

    9019 人正在学习 去看看 李杰

项目中存在多个react-native页面入口,每个入口使用以下方法初始化:

- (instancetype)initWithBundleURL:(NSURL *)bundleURL
                       moduleName:(NSString *)moduleName
                initialProperties:(NSDictionary *)initialProperties
                    launchOptions:(NSDictionary *)launchOptions;

但在调试中发现两个现象:
1.重复进入react-native页面、退出react-native页面的操作,RCTBridge对象会被重复创建、销毁。有时候RCTBridge对象未能及时创建还会crash
2.在原生页面和react-native页面相互跳转是RCTBridge也会被重复创建,造成很大的内存开销

带着疑问去阅读RCTRootView.h发现一些细节:

/**
 * - Designated initializer -
 */
- (instancetype)initWithBridge:(RCTBridge *)bridge
                    moduleName:(NSString *)moduleName
             initialProperties:(NSDictionary *)initialProperties NS_DESIGNATED_INITIALIZER;

/**
 * - Convenience initializer -
 * A bridge will be created internally.
 * This initializer is intended to be used when the app has a single RCTRootView,
 * otherwise create an `RCTBridge` and pass it in via `initWithBridge:moduleName:`
 * to all the instances.
 */
- (instancetype)initWithBundleURL:(NSURL *)bundleURL
                       moduleName:(NSString *)moduleName
                initialProperties:(NSDictionary *)initialProperties
                    launchOptions:(NSDictionary *)launchOptions;

可以看到项目中使用多个RCTRootView时,推荐使用以下方法初始化:

- (instancetype)initWithBridge:(RCTBridge *)bridge
                    moduleName:(NSString *)moduleName
             initialProperties:(NSDictionary *)initialProperties NS_DESIGNATED_INITIALIZER;

通过上述的两个现象和推荐的初始化API,很自然的可以想到使用单例初始化一个bridge对象解决上述问题:

//.h
@interface BridgeManager: RCTBridge

+ (BridgeManager*)shareInstance;
@end

@interface BridgeHandle : NSObject<RCTBridgeDelegate>

@end

//.m
implementation MallBridgeHandle

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
    return [[NSBundle mainBundle] URLForResource:@"index.ios" withExtension:@"jsbundle"];  
}
@end

@implementation BridgeManager
static BridgeManager * manager = nil;
static dispatch_once_t onceToken;
+ (BridgeManager*)shareInstance
{
    dispatch_once(&onceToken,^{
        manager = [BridgeManager alloc] initWithDelegate:[[BridgeHandle alloc] init] launchOptions:nil]; 
    });
    return manager ;
}
@end

单例在程序启动时初始化。
测试验证可以发现:内存得到优化,白屏问题得到解决。

2018-03-22 15:07:30 sinat_34440368 阅读数 2055
  • 最新完整react教程从入门到精通包教包会

    课程概述: React是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。 学习技巧: 学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了。 此react课程以面试和实战为基础进行讲解,每个知识点都会让你知道在实际项目开发中如何使用,学习后,可以开发大型项目,增强逻辑思维,至少让你拥有3年以上开发经验的实力! 免费提供《完整实战项目接口文档》,绝对可用!

    9019 人正在学习 去看看 李杰

这近在开发项目中遇到奇怪的问题,测试说我的安装包安装时出现白屏了,可以加载网络,就是显示不出来UI,由于在开发中使用模拟器和自己的手机并没有出现这种白屏问题,遇到问题还是很懵的,拿测试手机在Xcode上调试,一切运行正常,就是不显示UI,于是想到是不是手机版本问题,测试手机是iOS9.3的系统,我的是10.3,这很大可能就是系统版本导致在两个手机上运行结果不一样,但是是什么原因导致运行结果不一样呢,是哪部分代码不兼容了,陷入了沉思,想了很久也没想出头绪。

于是我搭了测试项目,从三级控制器开始调试,结果一下中奖,因为项目中的tabBar是有弧角的,所以要用自定义图片,这个不影响白屏,影响的是自定义tabBar要带阴影效果,于是给UIImageView加了阴影:

imageView.layer.shadowColor = RGB(19, 30, 36).CGColor;
        imageView.layer.shadowOffset = CGSizeMake(0, 0);
        imageView.layer.shadowOpacity = 0.5;
        imageView.layer.shadowRadius = 10.0;

        CGRect rect = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
        CGContextFillRect(context, rect);
        UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        [self setBackgroundImage:img];
        [self setShadowImage:img];

问题就出在这段加阴影的代码上,iOS10.0以下,自定义tabBar加了阴影效果就出现白屏了,所以为了不影响项目也同时不影响设计,在这里加阴影时根据系统版本判断一下,iOS10.0以下版本就不要添加阴影功能了。自定义tabBar,添加imageView控件,控件高度大于tabBar高度时,在iOS10.0以上是不显示tabBar上的系统细线的,iOS10.0以下是显示系统细线,去细线代码:

[self.tabBar setShadowImage:[UIImage new]];
没有更多推荐了,返回首页