`

《精选》开发中遇到的问题总结

    博客分类:
  • ios
 
阅读更多

1、新浪微博的使用

使用的事umeng的SDK来调用微信、微博的分享,其中微博的调试花了很多时间,有一些小问题需要注意:

sso授权,rediect_url的设置:授权回调页面和取消授权毁掉页面都需要设置(必须设置,知性、研究生都没有设置),app设置为默认的即可:http://sns.whalecloud.com/sina2/callback

安全域名,设置为默认的即可:sns.whalecloud.com

scheme的问题:样式为:sina[umeng_key](中间不能按友盟的文档那样中间加点)

2、UIWebView的使用&&DTCoreText

加载过程:

加载url ==> 加载js代码【图片异步加载功能】 ==> 加载css样式【所有的】

关键点:

1、webview高度的变化,整个页面需要调整

加载url之后

css加载完之后

外站图片加载完之后,高度会变化

 

2、webview图片异步加载,为图片预留空间,需要知道准确的高度

本站的图片img标签中自带width、height,然后图片异步加载

外站的图片,加载完后图片弹出来,会出现文章突然变长的情况,影响阅读

webview高度获取的方式:使用KVO监听scrollview的contentsize的改变(但是加载完css后高度改变后无法监听到,无语)

异步加载技术由后端与前端共同完成

html加载完成后,加载本地css样式会有明显的停顿现象,文章体验不好,不知道是不是css太复杂的原因。现在是知道css加载完后才会显示出来,避免了这个问题

webview没有网络,加载本地html时,会出现明显的黑屏现象。具体讨论:http://stackoverflow.com/questions/13307093/uiwebview-loading-some-black-screen-in-the-right-side-of-landscape-view

 

3、webview缓存机制

重写了NSURLProtocol,在第三方的RNCachingURLProtocol基础上修改的

推荐使用AFCache

相关参考:

RNCachingURLProtocol:

http://robnapier.net/offline-uiwebview-nsurlprotocol

NSURLProtocol(中文介绍):

http://nshipster.cn/nsurlprotocol/

AFCache:

https://github.com/artifacts/AFCache

DTCoreText的使用:

优点:

如果只有很简单的html,中间没有复杂的css样式,加载js等,可以考虑这个库

 

缺点:

     第三方的库,bug不少,对于复杂的样式经常会显示的跟webview中显示不一致,无法调整。很无语

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics