无法使用xcode phonegap在ios中隐藏状态栏
Posted
技术标签:
【中文标题】无法使用xcode phonegap在ios中隐藏状态栏【英文标题】:cant hide statusbar in ios using xcode phonegap 【发布时间】:2013-03-09 11:02:40 【问题描述】:我正在尝试删除我的 xcode ios 项目中的状态栏。 phonegap 2.5 版。我试过以下。
1) 通过在 config.xml 中添加以下行来从 phonegap 特定项目中删除状态栏
<preference name="fullscreen" value="true" />
这是我的 xml 文件。
<?xml version="1.0" encoding="UTF-8"?>
<widget>
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="EnableLocation" value="false" />
<preference name="EnableViewportScale" value="true" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value=".25" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="BackupWebStorage" value="cloud" />
<preference name="fullscreen" value="true" />
<content src="index.html" />
<plugins>
<plugin name="Device" value="CDVDevice" />
<plugin name="Logger" value="CDVLogger" />
<plugin name="Compass" value="CDVLocation" />
<plugin name="Accelerometer" value="CDVAccelerometer" />
<plugin name="Camera" value="CDVCamera" />
<plugin name="NetworkStatus" value="CDVConnection" />
<plugin name="Contacts" value="CDVContacts" />
<plugin name="Debug Console" value="CDVDebugConsole" />
<plugin name="Echo" value="CDVEcho" />
<plugin name="File" value="CDVFile" />
<plugin name="FileTransfer" value="CDVFileTransfer" />
<plugin name="Geolocation" value="CDVLocation" />
<plugin name="Notification" value="CDVNotification" />
<plugin name="Media" value="CDVSound" />
<plugin name="Capture" value="CDVCapture" />
<plugin name="SplashScreen" value="CDVSplashScreen" />
<plugin name="Battery" value="CDVBattery" />
<plugin name="Globalization" value="CDVGlobalization" />
<plugin name="InAppBrowser" value="CDVInAppBrowser" />
</plugins>
<access origin="*" />
</widget>
测试
我也将此添加到我的 plist 文件中。这应该会删除特定 ios 应用的状态栏。
<key>[UIApplication sharedApplication].statusBarHidden = YES;</key>
代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>icon.png</string>
<string>icon@2x.png</string>
<string>icon-72.png</string>
<string>icon-72@2x.png</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>$PRODUCT_NAME</string>
<key>CFBundleExecutable</key>
<string>$EXECUTABLE_NAME</string>
<key>CFBundleIconFile</key>
<string>icon.png</string>
<key>CFBundleIdentifier</key>
<string>org.apache.cordova.HelloWorld</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$PRODUCT_NAME</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string></string>
<key>[UIApplication sharedApplication].statusBarHidden = YES;</key>
<string>YES</string>
<key>NSMainNibFile~ipad</key>
<string></string>
</dict>
</plist>
为什么这些都不起作用??
【问题讨论】:
试试这个:***.com/a/20152984/1856577 使用 phonegap 1.9 测试。 【参考方案1】:OP 99% 正确,但您只需要勾选“在应用程序启动期间隐藏”框
你可以在这里找到它:
选择项目导航器(侧边栏中的文件夹图标)
选择根项目(带有您项目名称的项目)
然后在主菜单中,突出显示“摘要”选项卡,向下滚动到“状态栏”
【讨论】:
【参考方案2】:我终于解决了这个问题..!我通过单击项目进入项目属性。在 target / yourProject 下有一个状态栏菜单。我选择了状态栏:黑色半透明修复了它。
【讨论】:
以上是关于无法使用xcode phonegap在ios中隐藏状态栏的主要内容,如果未能解决你的问题,请参考以下文章
getJSON 在 Xcode 4.2 和 ios5 中无法使用 PhoneGap1.1.0
从PhoneGap Camera API返回时如何隐藏iOS7状态栏?
iOS notification.alert() 无法使用 Phonegap 2.3.0