草庐IT

AutoLayout

全部标签

ios - iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

关于iPhoneX自动布局怪癖的问题。我有两个按钮,以前它们会与superView底部对齐,偏移量为20,以免它们接触屏幕底部(我已经将链接更改为安全区域而不是superView)。这是原始设置:在旧版iPhone上看起来不错。现在底部约束上的20常量现在使按钮看起来很时髦并且离iPhoneX上的主页栏太远了。从逻辑上讲,我需要从iPhoneX的约束中移除20常量,并让按钮直接与安全区域的底部对齐。现在在iPhoneX上看起来不错。但现在它在非家庭酒吧电话上将按钮放置得太靠近屏幕底部。我在Apple文档中遗漏了这个问题的任何直接解决方案?不能使用尺寸等级,因为在这种情况下iPhoneX

ios - 自动布局和通话状态栏

我想问一下自动布局和通话状态栏。这是一个演示我的问题的简单场景:创建启用“使用Storyboard”的项目添加“ViewController”并启用其“IsInitialViewController”将ControllerView的背景颜色设置为红色将“TableView”添加到Controller的View中TableView应该有4个布局约束(前导、顶部、尾随、底部)到Superview,常量设置为0。现在,当我在模拟器中运行此应用程序并按⌘+T时,我可以看到红色背景,同时通话中状态栏以动画形式出现。是否有可能获得摆脱这个故障? 最佳答案

ios - 自动布局和通话状态栏

我想问一下自动布局和通话状态栏。这是一个演示我的问题的简单场景:创建启用“使用Storyboard”的项目添加“ViewController”并启用其“IsInitialViewController”将ControllerView的背景颜色设置为红色将“TableView”添加到Controller的View中TableView应该有4个布局约束(前导、顶部、尾随、底部)到Superview,常量设置为0。现在,当我在模拟器中运行此应用程序并按⌘+T时,我可以看到红色背景,同时通话中状态栏以动画形式出现。是否有可能获得摆脱这个故障? 最佳答案

ios - 具有两个不等式约束的歧义

我想让底部View与图像和上方的标签至少保持20的距离。标签是多行的,因此它可以比ImageView更高或更短,具体取决于文本的数量。当我添加两个“到最近邻居的距离>=20”约束时,如屏幕截图所示,Xcode告诉我约束不明确。我该如何解决? 最佳答案 如果我了解您的要求,我认为您可以这样做:ImageView具有固定的宽度和高度,以及对左侧和顶部的约束,以及对底部View的约束=20优先级为700。这很关键——这将设置底部View的y位置(它具有固定的高度和对两侧的约束),但如果另一个具有更高优先级的约束使它移动,它将允许它移动得更

ios - 具有两个不等式约束的歧义

我想让底部View与图像和上方的标签至少保持20的距离。标签是多行的,因此它可以比ImageView更高或更短,具体取决于文本的数量。当我添加两个“到最近邻居的距离>=20”约束时,如屏幕截图所示,Xcode告诉我约束不明确。我该如何解决? 最佳答案 如果我了解您的要求,我认为您可以这样做:ImageView具有固定的宽度和高度,以及对左侧和顶部的约束,以及对底部View的约束=20优先级为700。这很关键——这将设置底部View的y位置(它具有固定的高度和对两侧的约束),但如果另一个具有更高优先级的约束使它移动,它将允许它移动得更

ios - 使用 Interface Builder 中的自动布局而不是代码使 UIView 填充包含 View

如何使用自动布局让subview填充其父View,或者至少将其所有边缘锚定到父View的边缘?我在“最近邻间距”中使用了所有四个垂直和水平约束,但是当我在3.5"设备上运行该应用程序时,View的高度并未按预期自动从568调整到480。 最佳答案 将顶部空间固定到superview,将底部空间固定到superview,将前导空间固定到superview,将尾部空间固定到superview。然后像这样设置编辑约束:Superview.Top>=View.Top和Superview.Bottom>=View.Bottom

ios - 使用 Interface Builder 中的自动布局而不是代码使 UIView 填充包含 View

如何使用自动布局让subview填充其父View,或者至少将其所有边缘锚定到父View的边缘?我在“最近邻间距”中使用了所有四个垂直和水平约束,但是当我在3.5"设备上运行该应用程序时,View的高度并未按预期自动从568调整到480。 最佳答案 将顶部空间固定到superview,将底部空间固定到superview,将前导空间固定到superview,将尾部空间固定到superview。然后像这样设置编辑约束:Superview.Top>=View.Top和Superview.Bottom>=View.Bottom

ios - 带有 ContentInset 的 UICollectionView 没有一直向下滚动

我正在设置UICollectionView的内容插图:[_collectionViewsetContentInset:UIEdgeInsetsMake(0.f,0.f,100.f,0.f)];然后我使用这种方法以编程方式一直滚动到UICollectionView的底部:-(void)scrollToLastMessageAnimated:(BOOL)animated;{if(_messages.count==0){return;}NSUIntegerindexOfLastSection=_messagesBySections.count-1;NSIntegerindexOfMessag

ios - 带有 ContentInset 的 UICollectionView 没有一直向下滚动

我正在设置UICollectionView的内容插图:[_collectionViewsetContentInset:UIEdgeInsetsMake(0.f,0.f,100.f,0.f)];然后我使用这种方法以编程方式一直滚动到UICollectionView的底部:-(void)scrollToLastMessageAnimated:(BOOL)animated;{if(_messages.count==0){return;}NSUIntegerindexOfLastSection=_messagesBySections.count-1;NSIntegerindexOfMessag

ios - 设置 UIView 的 layoutMargins 不起作用

UIViewController与UIView和UITableViewUIView|-UITableView我正在尝试像这样设置边距:-(void)viewDidLoad{[superviewDidLoad];self.view.layoutMargins=UIEdgeInsetsMake(30,30,30,30);self.tableView.preservesSuperviewLayoutMargins=YES;[self.viewlayoutIfNeeded];}但是View上什么也没有发生。这是来自InterfaceBuilder的约束(lldb)poself.view.con