Tag: 自动布局

如何使用Autolay来安排UIButtons

我只想让我的button有相同的空间,固定的拖尾和领先的空间。 我有点Autolayout noob,所以我没有任何线索如何解决这个问题。 我尝试了很多不同的configuration,但没有任何工作,因为它应该。 任何想法如何解决这个问题? 这将是非常棒的。

在滚动视图中embedded的视图的iOS 7自动布局

这里可能是iOS新手的下一个愚蠢的问题,我正在试验的是滚动和自动布局的东西。 所以我创build了故事板,并添加了一个由滚动视图embedded的视图。 查看有白色背景,我设置滚动查看背景是蓝色的: 你看到的约束都有0值,以匹配父母。 在肖像模式下一切都很好: 但是在风景不是,叶子视图不调整和滚动视图(蓝色的一个区域变得可见)

如何使用自动布局调整固定宽度和高度的UIImageView

我有一个名为myView的视图,它始终是屏幕的一半,坐在屏幕的顶部。 在这个视图中,我添加了一个myView大小的UIImageView ,位于myView中心(水平和垂直)。 在IB内部,为了满足约束条件(X和Y),我始终需要为图像设置一个固定的宽度和高度,然后将水平中心和垂直居中。 但是具有固定的高度和宽度,在更改屏幕大小时,图像不会resize。 我希望我的图像在iPhone5或iPhone 4s上运行时resize,因为myView将resize。 我需要的东西像图像应该取决于myView大小。 如何真正实现这一目标?

你应用自动布局约束来将标签与背景图像元素alignment?

看到下面的例子截图,但这是问题。 我有3个文本标签,我试图将这些标签与图像视图中的3个圆圈alignment。 看起来这个问题是由于图片被设置为Aspect Fit而引起的,并且随着各种iPhone尺寸一起缩放。 我可以水平alignment文本标签,但我无法弄清楚如何设置垂直约束来正确“缩放”。 任何build议或方向将是真棒,谢谢!

带有Autolayout约束问题的TableViewCell

我一直在尝试连续2天修复我创build的自定义单元格。 我是新来的iOS,所以我一直在阅读,如果使用autolayout被启用,我必须设置约束。 即使我设置了一些约束,问题仍然存在,所以我猜测iOS模拟器有一个我没有意识到的错误,或者我已经阅读的10多个指南和教程中缺less一些东西。 是的,我做了研究,我读了几篇文章,包括: 在UITableView中使用自动布局来实现dynamic单元格布局和可变的行高 (这个似乎是更完整的) 自定义单元格正在故事板中创build,下面是一个包含约束条件的图片: ( UIImageView的视图模式设置为center ) 这里是iOS Simulator的图片: 编辑:我也删除了所有的约束,但结果是一样的,iOS模拟器呈现相同的方式 解决scheme:这是如此愚蠢的,我的UIImageView指针被称为*imageView ,似乎UITableViewCell有一个同名的指针,所以每当我调用它,我的被忽略,而是被称为超类“一个,导致不是我认为这是一个resize的问题,但是一个叠加

在特殊情况下,intrinsicContentSize会导致无限循环

我做了一个容器视图,我打电话给SimpleStackView。 这个想法很简单,任何子视图都堆叠在彼此之上。 SimpleStackView的宽度决定了其子视图的宽度,而SimpleStackView的高度则由其子视图的高度决定。 我在layoutSubviews中调用了每个子视图上的sizeThatFits,并使用返回的高度将它们布置在eachother之上。 这些高度的总和还决定了从SimpleStackView的sizeThatFits覆盖和intrinsicContentSize覆盖返回的内容。 我支持iOS 7,所以我不能使用UIStackView。 我使用AutoLayout来布局我的应用程序中的大部分东西。 我的SimpleStackView在许多地方工作正常,其布局使用AutoLayout旁边的其他视图(我依靠它的intrinsicContentSize来定义它的高度,没有高度约束),除了一个SimpleStackView被放在一个UITableViewCell的contentView中的一个UITableView的。 在这种情况下,会触发一个无限循环。 我不是一个AutoLayout的专家。 我可能会错过在AutoLayout内部如何使用intrinsicContetSizes? 这可能是什么情况? 我如何正确使用intrinsicContentSize,使其在所有情况下都能正常工作? SimpleStackView的代码相对较短; 这里是完整的类实现: @implementation SimpleStackView @synthesize rowSpacing=_rowSpacing; – (void)layoutSubviews { [super layoutSubviews]; [self sizeToFit]; [self invalidateIntrinsicContentSize]; CGFloat nextRowTop = 0; for (UIView *view in self.subviews) { CGSize size = [view sizeThatFits:CGSizeMake(self.bounds.size.width, view.bounds.size.height)]; view.frame = CGRectMake(0, nextRowTop, self.bounds.size.width, size.height); nextRowTop += view.frame.size.height + […]

约束在两个UIViews之间添加更多的空间

我正在用XCode 4.5.2和最新的SDK开发iPhone应用程序。 现在,我正在使用Autolayout来处理一个故事板,并将其与iPhone 4S和iPhone 5一起使用。 这是你怎么能看到它与Retina 3.5的外形: 这是你如何看待它与Retina 4的forms因素: 我需要在Todos los establecimientos和Todos los产品之间增加更多的空间。 而且,在Todos los产品和Por distancia>之间 。 Todos los establecimientos和Todos los产品现在有一个Top Space to: Superview约束。 当我使用Retina 4外形时,如何在这些元素之间添加更多空间?

在UICollectionView上animation自动布局约束更改

继上一个问我问,我试图animationUICollectionView (这是在例子中的UICollectionView高度变化。 通过使用以下代码修改集合视图上的自动布局约束来触发高度更改: – (IBAction)expandYellowBox:(id)sender { [UIView animateWithDuration:0.5 animations:^{ self.yellowBoxHeightConstraint.constant += 50; [self.view layoutIfNeeded]; }]; } 但是,当我调用[self.view layoutIfNeeded]这会导致集合视图被重新加载,所以它闪烁显示给用户。 不过,我不希望收集视图重新加载,而只是为了animation的高度变化。 有没有办法避免-layoutIfNeeded重新加载集合视图,或者另一种方法来animation约束高度变化,这不会调用具有重新加载集合视图的副作用的方法?

UIScrollView和自动布局不工作

我正在试图在我的应用程序中滚动视图。 O完全按照教程https://www.youtube.com/watch?v=UnQsFlMGDsI中的步骤操作。 我做的主要步骤是: 添加一个UIScrollView 将视图添加到UIscrollView(内容视图) 为UIScrollView创build边界约束,值为0(顶部,左侧,右侧和底部) 为“内容”视图创build值为0(上,左,右和底部)的边距约束 在ContentView和主视图之间创build2个“等宽”和“等高”约束 …(添加一些文本字段) 当我运行应用程序时,scrollView不起作用 我真的不能使它工作。 我尝试了很多方法来应用UIScrollView并没有得到它。

使用Autolayout扩展tableView单元格导致UIViewAlertForUnsatisfiableConstraints

我正在尝试使用UITableViewAutomaticDimension行高和单元格的Autolayout的组合来制作可展开的单元格。 为了简单起见,我开始使用以下简单的代码,我希望能够工作: import UIKit class ViewController: UITableViewController { let cells = [Cell(), Cell(), Cell()] override func viewDidLoad() { super.viewDidLoad() tableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 50 for cell in cells { cell.tableView = tableView } } override func numberOfSections(in tableView: UITableView) -> Int { return 1 } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> […]