iOS开发-坑爹的iOS特性

  • xcode7中,新建两个window会崩溃掉,解决方法就是不要同时存在两个window,用view实现。

  • 设置navigationController.navigationBar.alpha属性,可以将导航栏变成透明,但是,但是,切换到后台,再到前台,会被重置成不透明。

  • 自定义导航栏左侧按钮之后,滑动返回手势失效。有两种解决方法:

    1. 设置backButton,不过这个属性感觉有点反人类。
    2. 修复返回手势。
[self.navigationController.interactivePopGestureRecognizer setValue:self.navigationController forKey:@"delegate"];
  • WKWebView中,不支持打开一些链接,比如电话邮件之类的。
///判断当前加载的url是否是WKWebView不能打开的协议类型
- (BOOL)isLoadingWKWebViewDisableScheme:(NSURL *)url
{
    BOOL retValue = NO;
    
    //判断是否正在加载WKWebview不能识别的协议类型:phone numbers, email address, maps, etc.
    if([url.scheme isEqualToString:@"tel"]) {
        UIApplication *app = [UIApplication sharedApplication];
        if ([app canOpenURL:url]) {
            [app openURL:url];
            retValue = YES;
        }
    }
    
    return retValue;
}

  • 音频控制台封面图片不能设置为空,否则会crash。

  • 不要往frameworks文件夹里面添加第三方framework,否则引入某些其他第三方frameworks的时候会报找不到的错误。