Tag: 约束

将5个button与Autolay进行水平alignment的最佳方法是什么?

我知道这是一个小新手风格的问题,但我找不到任何有关这个主题,我必须水平alignment我的视图控制器中的多个button。 我尝试了2个方法,第一个是用UIViews和<= width改变约束优先级和其他。 第二个没有UIViews,但button在右舷很好地alignment。 我已经看过斯坦福大学汽车布置课程。 但是我找不到任何解决办法。 我不知道如何alignment多个button或视图可以有人帮助我学习和解决这个问题? 谢谢 !

ios自动布局:以编程方式设置宽度约束

我正在做一个ios应用程序。 我将自动布局以编程方式添加到2个标签。 我需要添加一个约束,使他们相等的宽度。 我知道如何使用以下命令修复标签的宽度: constraint = [NSLayoutConstraint constraintWithItem:myLabel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem: nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:200.0f]; 这将把标签大小固定为一个常量。 但我有两个标签,我希望他们有相同的大小,而不必设置一个常数。

将约束添加到UITableVIew标题视图

所以我是新来的约束。 我有一个包含多个视图作为兄弟的nib文件。 ViewController的视图包含一个tableView,我有另一个视图将被添加到tableHeaderView(我们称之为self.tableHeaderView)。 我面临的问题是,我想根据一定的条件来调整self.tableHeaderView的大小。 我已经为所有的UI元素添加了约束条件,无论如何,我无法通过nib向self.tableHeaderView添加高度约束。 我尝试以编程方式更改self.tableHeaderView的框架,但是当我在模拟器中运行代码时没有任何效果,这是有道理的,因为如果我使用自动布局,它应该忽略框架更改。 我尝试以编程方式添加高度约束,但它崩溃。 这是我要添加高度约束的代码片段。 [self.tableHeaderView addConstraint:[NSLayoutConstraint constraintWithItem:self.tableHeaderView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:107.0f]]; 我得到的exception:***声明失败 – [UITableView layoutSublayersOfLayer:],/ SourceCache /UIKit_Sim/UIKit-2903.2/UIView.m:8536 *由于未捕获的exception“NSInternalInconsistencyException”而终止应用程序,原因是:执行-layoutSubviews之后仍然需要自动布局。 UITableView的-layoutSubviews实现需要调用super。'* 最坏的情况下,我会添加另一个高度的同级视图,并复制UI元素,但我想避免这种情况。 编辑1:我得到这个exception,当我有这个self.topicHeaderView.translatesAutoresizingMaskIntoConstraints = NO; 如果我没有它,我得到这个 无法同时满足约束。 下面列表中的至less一个约束可能是你不想要的。 试试这个:(1)看看每一个约束,并试图找出你不期望的; (2)find添加不需要的约束或约束的代码并修复它。 (注意:如果你看到你不明白的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)(“”,“”) 将尝试通过打破约束来恢复 在objc_exception_throw上中断,在debugging器中捕获它。 列出的UIView的UIConstraintBasedLayoutDebugging类中的方法也可能有所帮助。 编辑:2在4“的屏幕上,它看起来很好(红色的背景覆盖整个tableHeaderView我所期望的) 在一个3.5英寸的屏幕上,红色的背景(应用在笔尖上,延伸到一定的高度,即使我把高度设置为117.0f,tableHeaderView里面的UI元素正确显示) 底部的蓝线是分隔线,蓝色边框是在tableHeaderView的周围。

iOS:Autolayout导致UIScrollView不滚动

我已经build立了一个UIScrollView ,我想要显示12个图像(只适合在屏幕上8)水平布局。 在下面的图片中,你可以看到我遇到的问题(这使我的滚动视图不滚动),我的约束和我添加了故事板上的UIScrollView : 我已经调用了以下方法-(void)viewDidLoad ,其中我“设置”我的scrollview(itemList是我的滚动视图属性和itemNames一个数组与图像的名称): – (void)setupHorizontalScrollView { self.itemList.delegate = self; [self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO]; [self.itemList setBackgroundColor:[UIColor blackColor]]; [self.itemList setCanCancelContentTouches:NO]; self.itemList.indicatorStyle = UIScrollViewIndicatorStyleWhite; self.itemList.clipsToBounds = NO; self.itemList.scrollEnabled = YES; self.itemList.pagingEnabled = NO; NSInteger tot=0; CGFloat cx = 0; for (; ; tot++) { if (tot==12) { break; } UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[self.itemNames objectAtIndex:tot]]]; […]

UITextView在UIScrollView上不可见

好吧,我所拥有的是一个UIScrollView,它被约束在主视图的所有四边,垂直和水平居中,并且被设置为与视图具有相等的宽度和高度。 我在UIScrollView上放置的所有子视图都显示在我运行应用程序的时候,恰好在我想要的位置,但是只有底部的UITextView没有。 看起来好像我已经尝试了所有的约束条件,但是当我运行应用程序而不pipe我做什么的时候,它都不会出现。 以下是界面构build器中的约束的屏幕截图: 即使在运行之前预览文件Main.storyboard,它看起来像这样: 但是,当我真的运行应用程序,即使当我改变约束在许多方面的屏幕缺lessUITextView: 任何帮助这个问题将不胜感激! 提前致谢。

如何pipe理自动布局中两个视图之间的差距

我为我的ViewController使用自动布局我知道如何以编程方式使用约束来定义两个视图之间的差距。 现在我想要做的是当屏幕尺寸增大时,也会增加差距。 因为我的UIViews被正确定位在iPhone 4s和5s中,但在6和6加上他们被放置在屏幕的一个小区域。 我知道添加乘法器可以设置视图的高宽比,但是如何增加屏幕高度增加时2个视图之间的差距。 UPDATE 说这个图片,上面有一个标志,请login标签。 这是我的垂直位置约束 V:|-70-[Title]-130-[lblFirst]-0-[lblSecond]-20-[textusername]-10-[txtpassword]-10-[btnLogin] 这个标题是一个图像130pix以上这个请login标签。 我想增加这个130,当谈到iPhone 6和6加

如何设置自动布局的滚动视图内容大小?

我有一个屏幕,我已经添加了自我视图1滚动视图。 标签栏和导航栏都在那里,iPhone 4的视图高度是455.我在滚动视图中添加了更多的内容。滚动视图和自我视图的高度是相同的,但是当我无法为滚动视图设置内容大小。即使我也设置它不工作,请帮助我。 谢谢

使用Storyboard的UITableViewCell的“内部”视图和contentview之间剩余的垂直间距是什么原因?

我正在使用以下简化“层次结构”(从上到下)的iOS / xcode项目中的故事板: ViewController(由于某些定制原因,不是一个TableViewController) 视图 TableView(和其他一些我认为无关紧要的内容) 细胞 内容查看 “AnyView”(具体types似乎是无关紧要的,因为下面的每个项目我都试过) 当我将AnyView和ContentView之间的约束设置为顶部/底部/顶部/尾部的零间距时,ContentView和AnyView之间仍然有一些“空间”。 (我从来没有遇到过这种情况,只是以编程方式做类似的事情。) 为了摆脱这种间距,我在故事板选项中寻找所有的东西,甚至像间距/意图等那样遥远的响起,但是并没有真正成功。 无意中,我只是意识到,当我以某种方式将视图拖放到ContentView中时,故事板显示的负间距为-8,似乎“移除”了该间距。 我可以在我的约束中使用这个数字,但似乎有些随意。 有谁知道我不需要的间距可能是什么原因,或者如果-8有更深的含义(例如,也许苹果是这样强制一些devise指导故事板用户?)? 非常感谢您的任何见解!

如何以编程方式在ios中设置宽高比约束

我用我的ViewControllers自动布局。 我已经设置了V和H的位置。 但我想知道,如何增加我的button大小,当它变成5秒,6和6加。 这是我为loginbutton添加约束的方式。 NSArray *btncon_V=[NSLayoutConstraint constraintsWithVisualFormat:@"V:[btnLogin(40)]" options:0 metrics:nil views:viewsDictionary]; [btnLogin addConstraints:btncon_V]; NSArray *btncon_POS_H=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-100-[btnLogin]-100-|" options:0 metrics:nil views:viewsDictionary]; [self.view addConstraints:btncon_POS_H]; NSArray *btncon_POS_V=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-70-[Title]-130-[lblFirst]-0-[lblSecond]-20-[textusername]-10-[txtpassword]-10-[btnLogin]" options:0 metrics:nil views:viewsDictionary]; [self.view addConstraints:btncon_POS_V]; 但是我的问题是什么时候pipe理左右侧的差距。 由于高度固定,它在iphone 6和6 plus中得到了加强。 如何根据屏幕尺寸增加尺寸。 我认为这可能是AspectRatio但如何设置代码中的长宽比约束。

如何在运行时更改约束优先级

我有一个dynamic高度的视图,我试图在运行时改变这个视图的高度优先。 这是我的代码的一部分; if (index == 0) { surveyViewHeightConstraint.constant = 0; surveyViewHeightConstraint.priority = 1000; } else if (index == 1) { surveyViewHeightConstraint.constant = 163; surveyViewHeightConstraint.priority = 500; } 我正在改变索引与button的行动。 当我运行这个代码,我得到这个错误: *** Assertion failure in -[NSLayoutConstraint setPriority:], /SourceCache/Foundation/Foundation-1141.1/Layout.subproj/NSLayoutConstraint.m:174 我在这里犯的错误是什么?