全部,我在ViewController中有一个UIWebView。控制器被适当地连接起来并且从前面的tableview中正确地分段。但是,我正在努力完成两件事:1。强制UiWebView(以及整个场景)进行横向渲染(我正在显示来自网址的地图)并且不允许用户旋转,并且2.将webview显示在约束下装置。现在,UIWebView在显示为横向时从屏幕上运行。
我尝试重置约束,更新缺失的约束,故事板中的方向锁定,在storyboard中查看>模式> aspectfit,并在viewcontroller方法文件中强制它横向设置(设置为aspectfit而不是aspectfill)。
我之前已经阅读了这里的问题,这些问题表示以前的iOS版本无法将一个场景锁定为纵向/横向。我发现这可能已经改变了iOS7。
我正在寻求有关如何锁定视图和缩小uiwebview中显示的网页以适应iphone应用程序尺寸的指导。感谢
答案 0 :(得分:0)
四个步骤:
覆盖UINavigationController的preferredInterfaceOrientationForPresentation:方法
(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
UIDevice *myDevice = [UIDevice currentDevice];
UIDeviceOrientation deviceOrientation = myDevice.orientation;
if (deviceOrientation == UIDeviceOrientationLandscapeLeft)
{
return UIInterfaceOrientationLandscapeRight;
}
else if (deviceOrientation == UIDeviceOrientationLandscapeRight)
{
return UIInterfaceOrientationLandscapeLeft;
}
else {
return UIInterfaceOrientationLandscapeLeft;
}
}
将您的UIViewController设置为具有UIWebView作为子类UINavigationController的rootViewController
如果上述方法无效,请尝试将以下内容应用于tableViewController(即将呈现UINavigationController子类的viewController。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotate
{
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
您可能还需要在Target>下添加这些设置。一般。
这似乎是我在我的应用程序中使用强制横向定位所做的一切。
答案 1 :(得分:0)
如果您要将整个应用程序锁定到横向,则可以进入info.plist文件并从“支持的界面方向”列表中删除纵向条目。