Ios7 ios-3.5“;截取屏幕底部的布局

Ios7 ios-3.5“;截取屏幕底部的布局,ios7,autolayout,Ios7,Autolayout,我有一个应用程序,在3.5英寸的屏幕(下面的屏幕截图中的添加或更新照片栏)上关闭底部工具栏。在4英寸的屏幕上,一切都很完美 只有在模拟器中运行应用程序时才会发生这种情况。故事板中的预览对于4英寸和3.5英寸都很好。 我确实怀疑自动布局的问题,但我真的不知道如何处理这个问题,因为它在情节提要视图中很好。使用autolayout使tableview缩小并减少垂直尺寸的正确方法是什么 谢谢你的帮助 首先,您需要取消选中故事板中的选项,该选项在iOS 7中默认启用或选中 结束,然后如果问题没有解决,

我有一个应用程序,在3.5英寸的屏幕(下面的屏幕截图中的添加或更新照片栏)上关闭底部工具栏。在4英寸的屏幕上,一切都很完美

只有在模拟器中运行应用程序时才会发生这种情况。故事板中的预览对于4英寸和3.5英寸都很好。

我确实怀疑自动布局的问题,但我真的不知道如何处理这个问题,因为它在情节提要视图中很好。使用autolayout使tableview缩小并减少垂直尺寸的正确方法是什么


谢谢你的帮助

首先,您需要取消选中故事板中的选项,该选项在iOS 7中默认启用或选中

结束,然后如果问题没有解决,您需要通过选中下图所示的选项来启用序列图像板中的自动布局

&

更新1

如果要应用约束,请执行以下步骤:


&如果它给出任何警告或错误,请添加其他所需的约束

我这样做就解决了这个问题

我有一系列宏(感谢几个月前其他人对stackoverflow的回答),我用它们来确定正在使用哪个设备。它们是:

#define IS_IPAD                 (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE               (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_IPHONE_5             (IS_IPHONE && [[UIScreen mainScreen]bounds].size.height == 568.0f)
我知道有些人反对使用宏,理由很充分,但我发现它们在某些情况下很有用。因此,为了更彻底,可以将宏编写为方法

-(BOOL)isIpad  {return UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? YES : NO;}
-(BOOL)isIphone {return UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ? YES : NO;}
-(BOOL)isIphone5  {return ([self isIphone] && [[UIScreen mainScreen]bounds].size.height == 568.0f) ? YES : NO;}
我将它们放在一个.h文件中,该文件专门用于名为ResourceConstants.h的宏。我将这个文件导入到我需要在其中使用它们的任何类中

定义完这些后,转到视图控制器中的-viewDidLoad方法,并按如下方式设置视图框架:

if (IS_IPHONE)
    self.view.frame = CGRectMake(0, 0, 320, 480);
--编辑-- 您可能还需要调整屏幕上对象/小部件的位置/大小,因为整个屏幕要短半英寸。只要在视图控制器上创建了属性输出,以引用屏幕上需要调整大小的任何对象,就可以使用相同的方法进行此操作。这样,

 self.myobject.frame = CGRectMake(myTopLeftCornerXCoord, myTopLeftCornerYCoord, myWidth, myHeight);

希望有帮助!:)

谢谢Claric,我不知道模拟度量设置。但这并没有真正解决问题


但我最终解决了这个问题,删除了所有约束条件,然后重新创建它们。然后它神奇地工作了。

你需要使用自动布局或约束来解决这个问题我正在使用自动布局。。。在3.5中,tableview占据了整个屏幕底部“。如何使底部的工具栏优先于tableview?为什么它在情节提要视图中工作得很好?您是否为工具栏设置了任何约束?如果不只是为工具栏的底部设置一个约束,使其与视图的底部边缘保持一致:)这是最简单的方法:)抱歉,我只是忘了先告诉你:)战栗我是唯一一个讨厌自动布局及其完全荒谬的复杂性的人吗?