草庐IT

AutoLayout

全部标签

ios - 在纵向和横向中使用 AutoLayout

AutoLayout,尽善尽美,约束让我发疯。我在IB中设计了纵向模式,但无法获得所需的横向模式。请注意,当方向更改为横向时,UIImageViewblock之间的间距会减小,并且SAMPLETEXT的文本对齐方式会更改为右对齐。目前,我为它添加了一些限制条件。但是,我需要保持UIImageViewblock之间的空间固定,因此它在纵向上看起来局促而在横向上看起来很好。我需要它在纵向上均匀分布并在横向上压缩(如上图所示)。同样,目前我的约束会调出文本,但不会将其保持在屏幕中央并右对齐。这在自动布局中是否可行?如果是这样,如何?非常感谢帮助。 最佳答案

ios - AutoLayout 多行 UILabel 切断了一些文本

我正在尝试学习自动布局,终于在发生这种情况时认为我已经掌握了它。我在玩原型(prototype)细胞和标签。我想拥有一个标题,titleLbl-图片中的蓝色框Money,moneyLbl-图片中的绿色框副标题/描述,subTitleLbl-图片中的红色框到目前为止我有这个:我想实现的是:绿色框应始终完整显示在1行上绿框内的值要以蓝框为中心居中蓝色框将占用剩余空间(-8px用于2之间的水平约束)并在必要时显示在多行上红色框应位于下方,并根据需要显示尽可能多的行。如您所见,除了最后一行中的示异常(exception),这几乎都可以正常工作。我已经尝试对此进行研究,并且据我所知,它与内在内容

ios - 如何使用 AutoLayout 以编程方式创建自定义 UITableViewCell

我正在尝试实现一个UITableView,它的行为类似于Twitter客户端的时间线。现在我只是想在UITableViewCell中获取两个标签。正如thisStackOverflowanswer推荐的,我为每个布局使用不同的reuseIdentifier。我的布局很简单,由一个标签或两个标签组成。最终我将调整UITableViewCells的高度,但首先我需要让单元格填充内容。如果我使用initWithFrame:设置它们的框架,我可以让标签显示出来,但是约束没有被实现。问题:是什么阻止了标签和约束的出现?我在UITableViewCell的实现中显然遗漏了一些东西,但我不知道它是什

iphone - iOS Autolayout - 如何在 View 之间设置两个不同的距离,取决于屏幕高度

我知道我错过了一些东西,因为这必须很容易实现。我的问题是我的“加载屏幕”(启动后立即出现的屏幕)中有一个UIImageView,其中有两个不同的图像,用于3.5"和4"大小的屏幕。在这些图片的某个地方,我放了一个UIActivityIndi​​cator,告诉用户应用程序正在后台加载一些东西。两个图像的那个位置不一样,因为其中一个明显比另一个高,所以我想设置一个自动布局约束,允许我将事件指示器放在不同的高度,这取决于应用程序是否运行在iPhone5与否。如果没有自动布局,我会将View的frame.origin.y设置为300(例如),然后在ViewController的viewDid

iOS AutoLayout - 获取框架大小宽度

我正在使用iOS6自动布局进行开发我想记录一条显示View框架宽度的消息。我可以在屏幕上看到textView。但是我得到的宽度和高度为零,我是不是漏掉了什么?NSLog(@"textView=%p",self.textView);NSLog(@"height=%f",self.textView.frame.size.height);NSLog(@"width=%f",self.textView.frame.size.width);textView=0x882de00height=0.000000width=0.000000 最佳答案

iOS AutoLayout 多行 UILabel

下面的问题是这个问题的延续:iOS:Multi-lineUILabelinAutoLayout主要思想是每个View都应该声明它的“首选”(固有)大小,以便AutoLayout可以知道如何正确显示它。UILabel只是View不能本身知道它需要显示的大小的情况的一个例子。这取决于提供的宽度。正如mwhuss指出的那样,setPreferredMaxLayoutWidth实现了使标签跨越多行的技巧。但这不是这里的主要问题。问题是我何时何地获取此width值,并将其作为参数发送给setPreferredMaxLayoutWidth。我设法做了一些看起来合法的东西,所以如果我有任何错误请纠正

iphone - 是否可以将 AutoLayout 与 UITableView 的 tableHeaderView 一起使用?

自从我发现AutoLayout以来,我到处都在使用它,现在我正尝试将它与tableHeaderView一起使用。我制作了UIView的子类添加了我想要的所有内容(标签等...)和它们的约束,然后我添加了这个CustomView到UITableView'tableHeaderView。除了UITableView总是显示aboveCustomView之外,一切正常,above我的意思是CustomView位于UITableView的下,所以看不到!似乎无论我做什么,UITableView'tableHeaderView的height都是总是0(宽度、x和y也是如此)。我的问题:无需手动设置

iOS Autolayout : two buttons of equal width,并排

我目前在使用AutoLayout时遇到困难。我正在使用界面生成器并尝试并排放置两个等宽的按钮,如下图所示。从下面的预览图像中,我的titleImage已被正确约束并正确显示,但按钮不是。我尝试将按钮1与titleImage的前缘对齐,将按钮2与titleImage的后缘对齐,但是此时两个按钮之间的宽度分布变得倾斜,如下所示。我的目标是了解缺少哪些约束以及应将哪些约束应用于两个按钮以保持相等的宽度,而不管设备如何。如果可能的话,我想通过界面构建​​器而不是额外的代码来实现这一点。 最佳答案 添加以下约束从button1到button2

ios - Autolayout:向 superview 添加约束而不是 Top Layout Guide?

我在Storyboard中的UIViewController中有一个UIView,我想在空间上添加一个约束,从顶部边缘查看一段距离。现在,当我像往常一样按ctrl并拖动到ViewController的主视图时,我只能选择将其设置为顶部布局指南。这对我来说是个问题,因为在应用程序的某个时刻,我将主视图向上移动20-50像素左右,然后发生的是我所拥有的View不会移动......因为它没有与superView对齐。我如何在Storyboard中手动执行此操作,还是必须以编程方式添加?我正在使用xcode6。 最佳答案 约束常量值右边有一

ios - autolayout - 使 View 高度相对于父 View 高度的一半

最近一直在研究自动布局,但我被困在一个看似非常微不足道的问题示例上。我有一个观点,我想坐在屏幕的顶部,占据屏幕高度的一半。自动布局之前很简单-只需将其固定到位并告诉它在superView调整大小时垂直扩展。现在,我一辈子都不知道该怎么做。这是我尝试设置时得到的结果:底部空间约束设置为“等于284”,当我更改为iPhone4布局时,这对我来说绝对没有用,因为它在屏幕底部保留了284点空间,并将View缩小到不再是屏幕大小的一半。并且没有办法将该约束设置为等于任何其他View高度的一部分..经过一段时间的挣扎,我能想到的唯一方法是在这个View下面引入另一个View,将它们的高度平均固定,