PhoneGap Plugins——NativeControls Plugin的使用与change orientation问题的解决方案
来源:互联网 发布:手机腾讯视频网络错误 编辑:程序博客网 时间:2024/06/01 22:41
由於在JQuery的插件和3rd框架裡找不到比較完美的TabBar供現有的項目使用,因此我們使用了Github裡的PhoneGap Plugins,裡面有一個NativeControls就是間接調用Apple SDK裡的TabBar,因此在iOS項目裡使用此插件是一個明智的選擇,具體使用方法請參閱Github上的readme文件。
而在使用此插件中遇到一個比較重要的問題就是在Device翻屏時在屏幕底部的TabBar變成了黑色的一塊,翻查了許多國外網站發現有少許人都遇到此問題但都找不到解決方案,而在我和項目夥伴的研究下找到了一個解決方案,如下
我們找到此Plugin的.m文件,裡面有一showTabBar方法,此方法包含了對TabBar的定位等方法,因為此定位方法沒有考慮到change orientation的問題,所以翻屏後的坐標都沒有定位好,因此我們在這裡修改他的.m文件下的showTabBar方法:
//if (!tabBar.hidden) {
//return;
//}
把以上三句注釋掉,然後一部分代碼修改為以下形態if (atBottom && [[optionsobjectForKey:@"orientation"]isEqualToString:@"portrait"])
{
tabBarBounds =CGRectMake(0,411,320,49);
webViewBounds =CGRectMake(0,0,320,411);
}
else if(atBottom && [[options objectForKey:@"orientation"] isEqualToString:@"landscape"])
{
tabBarBounds =CGRectMake(0,251,480,49);
webViewBounds =CGRectMake(0,0,480,251);
}
.m文件修改到此為止,最後一步就是在調用此方法時傳入一個JSON參數,如下
if(e.orientation=="landscape")
yourTabBar.showTabBar({'position' :'bottom','orientation' :'landscape'});
elseif(e.orientation=="portrait")
yourTabBar.showTabBar({'position' :'bottom','orientation' :'portrait'});
此解決方法唯一不足之處就是翻屏時定位比較慢,因此沒那麼美觀,不過使用起來也是不錯的
轉載請注明出處,作者:SamFung
- PhoneGap Plugins——NativeControls Plugin的使用与change orientation问题的解决方案
- IOS phonegap的Plugins开发
- Extending PhoneGap with native plugins for iOS (通过phonegap plugin的方式实现ios和javascript的互相调用)
- 使用maven遇到的问题 org.apache.maven.plugins:maven-surefire-plugin:2.12.4
- 如何设置和使用PhoneGap中的NativeControls插件
- PhoneGap发短信的Plugin
- phonegap plugin的创建方法
- 用PhoneGap Plugin实现html与Objc的交互
- h5 消息推送 jpush-phonegap-plugin 插件的使用
- 针对Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1的解决方案
- 针对Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3的解决方案
- 针对Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1的解决方案
- 关于Android的Orientation问题
- 使用Orientation Changed Notification遇到的问题及解决办法
- android:configChanges="orientation"使用中应该注意的问题
- 解决org.jboss.maven.plugins:maven-jdocbook-plugin' not found in repository的问题
- 解决:Failure to find org.apache.maven.plugins:maven-surefire-plugin:pom:2.10 这样的问题
- Android Studio 插件Plugin Error-Problems found loading plugins被禁用的问题
- 不要让个性化广告吓坏用户
- 常用正则表达式
- 其他几个问题
- js中substring和substr方法区别
- Sql常用语句
- PhoneGap Plugins——NativeControls Plugin的使用与change orientation问题的解决方案
- 嵌入式工程师软硬件道路三步曲
- js日期格式化
- 设计模式(1)
- Perl eval函数探讨
- 利用javascript设置网页快捷键
- C++中的临时变量
- android 之button 屏幕翻转
- android 状态栏文档