我正在构建一个只是UIWebView的iPhone应用程序。当我尝试在手机上运行此应用程序时,屏幕顶部和底部会出现一个大黑条。我相信因为它是针对较小的屏幕进行了优化的。但是在我的iPhone 5上,它并不是最佳选择。
如何根据iPhone的类型(屏幕尺寸)更改UIWebView的大小?
以下是我的xib文件的屏幕截图。
答案 0 :(得分:3)
首先,将名为Default-568h@2x.png
的默认图像添加到项目中。这样就消除了iPhone 5上的黑条。然后,要更改每个屏幕的Web视图大小,请在右侧窗格的界面构建器中单击标尺图标,然后在窗格的左下角更改设置,它看起来像这样(假设自动布局已关闭)
如果您不使用IB,请执行@Dilip所写的内容。
答案 1 :(得分:1)
你可以做两件事:
1)设置一个iPhone 5特定的默认(启动)屏幕(Chris列出的Default-568h@2x.png文件...... +1给他)
和
2)使用autolayout并确保您的webview在窗口/容器视图的顶部和底部边缘之间的宽度为零。
您可以通过选中此复选框在故事板或XIB中打开它:
答案 2 :(得分:0)
根据设备大小更改网页浏览量。
- (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上运行
答案 3 :(得分:0)
为此,您必须在创建 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)];
}
此条件检查屏幕尺寸。希望这可以帮助 !! :)
答案 4 :(得分:0)
查找iPhone5
#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)
定义高度
#define iPhoneScreenHeight (([[UIScreen mainScreen] bounds].size.height-568)?480:568)