【问题标题】:UIview layout not autosizing for iPhone retina 4 inch screenUIview 布局不能自动调整 iPhone 视网膜 4 英寸屏幕
【发布时间】:2014-05-14 09:16:44
【问题描述】:

Xcode 5 故事板应用程序。 当我点击应用程序中的按钮时,选择一个属性 - UIView 打开,但只显示第一个视图的正确布局。 向左/向右滑动时 - 所有视图的布局都很好。只有当我点击除第一个按钮外的任何按钮时,才会出现问题。 .h 和 .m 文件中的所有视图和所有代码的所有设置都是相同的。

我使用 iCarousel 进行滑动。

屏幕截图将帮助您更好地理解问题:

  1. 正确: ![正确布局] http://i.stack.imgur.com/b0HEP.jpg

  2. 错误:(见顶部和底部的空白) ![不正确的一个 - 必须看起来像 Pic.1] http://i.stack.imgur.com/xqTmH.png

    我不想弄乱自动布局,因为滚动视图不能正常工作。任何帮助,将不胜感激!谢谢!

【问题讨论】:

    标签: iphone objective-c xcode layout uiview


    【解决方案1】:

    看看这是否有效。我也遇到过类似的问题,顶部和底部边距的位置发生了变化。我在 viewDidLoad 方法中使用了这个。

    if( [self respondsToSelector:@selector(setEdgesForExtendedLayout:)] ) 
    {    
        self.edgesForExtendedLayout=UIRectEdgeNone; 
    }
    
    or else set frame for iPhone retina 4 inch screen like this   
    if(IS_IPHONE_5)
    {
         tableView.frame = CGRectMake(0, 0, 320, 560); // something like this in DidLoad method or in viewWillAppear method
    }
    

    【讨论】:

    • 第一个选项不做任何改变。第二个显示错误:使用未声明的标识符 Is_Iphone_5。我应该怎么做才能摆脱这个错误?还有其他方法可以解决我的问题吗?
    • 你必须像这样定义它..并设置上面定义的帧大小.. #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) #define IS_IPHONE_5 (IS_IPHONE && [[UIScreen mainScreen] bounds ].size.height == 568.0f)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2014-06-17
    相关资源
    最近更新 更多