我正在构建一个只是 UIWebView 的 iPhone 应用程序。当我尝试在手机上运行此应用程序时,屏幕顶部和底部出现一个大黑条。我相信是因为它针对较小的屏幕进行了优化。不过,在我的 iPhone 5 上,它并不是最佳选择。
如何根据 iPhone 的类型(屏幕大小)更改 UIWebView 的大小?
这是我的 xib 文件的屏幕截图。
我正在构建一个只是 UIWebView 的 iPhone 应用程序。当我尝试在手机上运行此应用程序时,屏幕顶部和底部出现一个大黑条。我相信是因为它针对较小的屏幕进行了优化。不过,在我的 iPhone 5 上,它并不是最佳选择。
如何根据 iPhone 的类型(屏幕大小)更改 UIWebView 的大小?
这是我的 xib 文件的屏幕截图。
Default-568h@2x.png
首先,为您的项目添加一个名为的默认图像。这消除了 iPhone 5 上的黑条。然后,要更改每个屏幕的 Web 视图大小,在右侧窗格的界面生成器中,单击标尺图标,然后在窗格的左下方,更改设置它看起来像这样(这假设自动布局已关闭)
如果您不使用 IB,请执行@Dilip 所写的操作。
你可以做两件事:
1)设置一个 iPhone 5 特定的默认(启动)屏幕(Chris 列出的 Default-568h@2x.png 文件 ... +1 给他)
和
2)使用自动布局并确保您的网络视图在窗口/容器视图的顶部和底部边缘之间的宽度为零。
您可以通过选中此复选框在情节提要或 XIB 中打开它:
根据设备大小更改您的 webview 大小。
- (void)viewDidLoad
{
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
webView.frame= CGRectMake(yourX, yourY, yourWidth, yourHeight);
} else {
webView.frame= CGRectMake(yourX, yourY, yourWidth, yourHeight);
}
[super viewDidLoad];
}
而且你必须添加一个 Default-568h@2x.png(640 × 1136) 让iphone知道这个应用程序可以在iphone5上运行
为此,您必须在创建UIWebView时添加一个条件,
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
UIWebView *aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
}
else if(result.height == 568)
{
UIWebView *aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 568)];
}
此条件检查屏幕大小。希望这可以帮助 !!:)
查找是否为 iPhone5
#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)
定义高度
#define iPhoneScreenHeight (([[UIScreen mainScreen] bounds].size.height-568)?480:568)