Tag: 自动布局

UITableViewCellAccessoryCheckmark和AutoLayout约束

我有自定义的UITableViewCell和pipe理我的单元格的select。 选中单元格并显示复选标记时,单元格Content View宽度会缩小,带有后续约束的标签将移动到左侧。 如何有效避免内容移动? 我不想将约束设置为领先,因为我有灵活的tableview宽度,他们是正确的alignment。 当我想通过IBOutlets更新代码中的代码约束时,我遇到了麻烦,因为我在cellForRow:返回了UITableViewCell多个子类cellForRow:并且在didSelectRowAtIndexPath:遇到了无法识别的select器错误didSelectRowAtIndexPath:尝试在代码中设置约束时。 任何优雅的解决 谢谢。

使用界面生成器中的自动布局而不是代码使UIView填充包含视图

我如何使用自动布局,使一个子视图填充其父,或至less将其所有的边缘锚定到父视图的边缘? 我在“最近邻居间距”中使用了所有四个垂直和水平约束,但是当我在3.5“设备上运行应用程序时,视图的高度并没有从预期的568自动调整到480。

使用自动布局将子视图的宽度匹配到超级视图

目标: 有一个UIWebView是相同的宽度,因为它的超级查看,这是一个UIScrollView ,使用自动布局约束。 码 NSLayoutConstraint *makeWidthTheSameAsScrollView =[NSLayoutConstraint constraintWithItem:self.questionWebView attribute:NSLayoutAttributeWidth relatedBy:0 toItem:self.masterScrollView attribute:NSLayoutAttributeWidth multiplier:1.0 constant:0]; [self.view addConstraint:makeWidthTheSameAsScrollView]; NSLog(@"The width of questionWebView *AFTER* adding the constrain is: %f", self.questionWebView.frame.size.width); NSLog(@"The width of scrollView *AFTER* adding the constrain is: %f", self.masterScrollView.frame.size.width); 当前结果 当我loggingself.questionWebView ( UIWebView )的宽度时,它的宽度在应用自动布局约束时不会改变。 问题 这是正确的方法吗? 我究竟做错了什么? PS我知道这是违反苹果的build议将UIWebView放在UIScrollView ,但是我已经closures了使用属性self.questionWebView.userInteractionEnabled = NO;滚动UIWebView的能力self.questionWebView.userInteractionEnabled = NO; 。 而目前使用UIWebView是我最好的策略来显示HTML表格。

UIViews结束在标签栏下方

在我的应用程序中,我使用自动布局将bottomLayoutGuide的标准量与标签alignment。 当应用程序第一次启动时,一切都按照我想要的方式布置,但是当我切换标签并返回标签已经消失在标签栏控制器下。 如果我旋转设备,横向视图正确显示,当我旋转回肖像视图恢复正常。 我似乎无法弄清楚是什么导致了这种行为。 谢谢你的帮助!

按比例自动布局缩放视图

我已经find了关于这个主题的几个问题和答案,但我根本无法得到这个为我工作。 蓝色矩形是包含“testing标签”和“齿轮图像”button的UIView。 红色的是第二个UIView。 我想要做的是让蓝色栏(这是一个UIView)的大型屏幕的大小,这将导致标签和设置button的缩放,而红UIView收缩的高度,所以蓝色UIView可以变得更大。 所以基本上问题是,如何按比例缩放不同的屏幕尺寸的UIViews。 我已经尝试使用宽高比约束,高度约束(大于/小于),但我不能达到预期的效果。 谢谢。

以编程方式更改高度限制

我想以编程方式更改UITextView的高度约束,所以我将约束设置为我的控制器中的sockets,如下所示: @property (strong, nonatomic) IBOutlet NSLayoutConstraint *descriptionHeightConstraint; 要改变它我做到以下几点: self.descriptionHeightConstraint.constant = self.description.contentSize.height; 这个作品,如果我在viewDidAppear做,但这样做的问题是,我可以看到高度变化后,显示视图是不是非常用户友好,所以我试图做viewWillAppear但没有在那里工作,高度doesn'改变。 更改约束后调用setNeedsUpdateConstraints也不起作用。 为什么在viewDidAppear工作,而不是在viewWillAppear? 任何解决方法? 提前致谢!

如何使用“自动布局”为纵向和横向定向configuration不同的布局?

我有一个像附图中的视图 现在我添加约束条件,当方向改变为横向时,视图中的UITextview必须位于屏幕的右侧。 在UItextview上,我添加了下面的约束, 尾随空间:Superview 底部空间:Superview 虽然这些限制显示了一些关于ambugity的警告,但为我做了这个工作。 以下是横向模式的截图。 我的问题是,虽然UItextview被移动到右侧,我想要在横向模式下超级视图顶部的一些额外的宽度。 换句话说,我希望UITextview从现在处于横向模式的位置向下移动一点。 我在思考如何在IB中使用自动布局来做这件事,而我无法想象如何。 任何build议,请。

在纵向和横向中使用自动布局

自动布局,就像它一样好,让我疯狂的约束。 我有在IBdevise的肖像模式,但我不能得到所需的横向方向工作。 请注意,当方向更改为横向时,UIImageView块之间的间距减小,并且“ SAMPLE TEXT的文本alignment更改为右alignment。 目前,我已经添加了一些限制,它的工作。 但是,我需要保持固定的UIImageView块之间的空间,因此,它看起来狭窄的肖像和罚款的风景。 我需要将它纵向均匀地展开,并在横向上进行压缩(如上图所示)。 同样,目前我的限制提出的文字,但它不会保持在屏幕的中心和右alignment。 这是可能的所有自动布局? 如果是这样,怎么样? 帮助非常感谢。

iOS自动布局:等同的空间,以适应Superviews宽度

可能重复: Autolayout甚至间距 我试图创build一个滚动条与button(类似于UISegmentedControl )。 superview是一个UIScrollView 。 只要button不适合滚动视图,滚动视图应滚动。 到目前为止,几乎一切工作正常: 有很多button(向右滚动): 没有那么多button: 现在,我的目标是,如果所有button都有空间,它们应该在整个320px视图中均匀分布。 我怎样才能定义button之间的空间约束? 现在,我使用以下约束(self是一个UIScrollView ): UIView *firstButton = self.buttons[0]; [self.buttonConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"|-(5)-[firstButton]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(firstButton)]]; UIView *lastButton = [self.buttons lastObject]; [self.buttonConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"[lastButton]-(5)-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(lastButton)]]; UIView *previousView = nil; for (UIView *view in self.buttons) { if (previousView) { [self.buttonConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"[previousView]-(5)-[view]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(previousView, view)]]; […]

自动布局约束:如何使视图在resize时保持其宽高比?

在界面生成器中,我们可以固定高度,引脚宽度,使两个视图的宽度相等,但是如何设置约束,以便在视图大小调整时保持其宽高比? 在我的具体情况,我有我的视图控制器中的UIImageView。 当视图resize时,我希望我的图像视图resize,但保持3:2宽高比。 IB可以做到吗? 是否有可能使用代码? 谢谢!