【问题标题】:How to change position of the View Controller on screen orientation change in iOS 7?如何在 iOS 7 中更改屏幕方向更改时视图控制器的位置?
【发布时间】:2016-02-27 19:32:58
【问题描述】:

我想创建像 iOS 默认相机应用程序一样具有页眉、容器和页脚的 iOS 应用程序。页眉有标题和页脚有 4 个按钮和 UIWebView 中的容器加载 url。现在,当我更改屏幕的方向时,我希望页眉出现在顶部,页眉和页脚下方的容器将使用水平按钮出现在屏幕的右侧。我如何在 iOS 7 中实现这种效果。

这是我的应用在纵向和横向模式下的屏幕截图。

我试过 UIStackView 但它只支持 iOS9+,我也尝试使用 OAStackView 但它不能正常工作。请帮帮我。

【问题讨论】:

  • 您找到解决问题的方法了吗?,如果您可以通过我的解决方案或其他方式实现,请告诉我
  • 如果您不回复,此对话没有任何用处

标签: ios objective-c ios7


【解决方案1】:

我的建议是你应该有两个页脚视图,一个在底部,另一个在视图的右侧,

根据方向为页脚视图设置隐藏属性,

在方法中改变容器视图的大小

-(void)viewDidLayoutSubviews{

*if(PORTRAIT){

    self.containerview.frame=CGRectMake(self.view.frame.orign.x, self.headerview.frame.size.height, self.view.frame.size.width, self.view.frame.size.height-footer.view.frame.size.height);

    rightSideFooterView.hidden = YES;
    bottomFooterView.hidden = NO;

else {

self.containerview.frame=CGRectMake(self.view.frame.origin.x, self.headerview.frame.size.height, self.view.frame.size.width-footer.view.frame.size.width, self.view.frame.size.height);
rightSideFooterView.hidden = NO;
bottomFooterView.hidden = YES;
}*

我认为这可能会解决您的问题,我不确定这是最好的方法,但这是处理此问题的方法之一

【讨论】:

  • 感谢您的重播,有没有其他方法可以使用单页脚视图来实现这一点?
  • @NishitPatel 可能有某种方式,但是当您通过情节提要使用自动布局时,您无法获得预期的视图,但如果您通过编码对自动布局有足够的了解,可能会
  • 当您使用自动布局时,它完全基于左上右下约束,因此当您更改方向时,视图将根据这些约束进行调整,因此在您使用时无法获得预期的布局通过情节提要自动布局
  • 感谢您分享您的知识。
  • @NishitPatel 一切顺利,如果您觉得这个答案可以解决您的问题,只需将其标记为正确,快乐编码:)
【解决方案2】:

对于工具栏,我会设计两个自定义工具栏。例如,toolBarL 用于横向,toolBarP 用于纵向。

在横向时,让toolBarL 显示和隐藏toolBarP。在纵向模式下,显示toolBarP 并隐藏toolBarL

覆盖UIViewController 的方法willRotateToInterfaceOrientation:duration: 用于旋转方向。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
        // UI for portrait 
    } else {
        // UI for landscape
    }
}

【讨论】:

    猜你喜欢
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 2011-12-29
    相关资源
    最近更新 更多