- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个动态创建的 UIView 数组,并且我将它们添加到同一个父 View ,我可以使用 constraintsWithVisualFormat 来设置约束,以便它们垂直堆叠吗? constraintsWithVisualFormat 中所需的 ascii 艺术似乎不允许这样做。
如果不是,执行此操作的最佳做法是什么?
谢谢!
最佳答案
很简单:
UIView *view1 = [UIView new];
[view1 setTranslatesAutoresizingMaskIntoConstraints:NO];
[view1 setBackgroundColor:[UIColor redColor]];
UIView *view2 = [UIView new];
[view2 setTranslatesAutoresizingMaskIntoConstraints:NO];
[view2 setBackgroundColor:[UIColor blueColor]];
UIView *view3 = [UIView new];
[view3 setTranslatesAutoresizingMaskIntoConstraints:NO];
[view3 setBackgroundColor:[UIColor yellowColor]];
UIView *view4 = [UIView new];
[view4 setTranslatesAutoresizingMaskIntoConstraints:NO];
[view4 setBackgroundColor:[UIColor blackColor]];
UIView *view5 = [UIView new];
[view5 setTranslatesAutoresizingMaskIntoConstraints:NO];
[view5 setBackgroundColor:[UIColor greenColor]];
NSArray *arrayOfViews = @[view1, view2, view3, view4, view5];
UIView *superview = self.view; //I tested in ViewController
[arrayOfViews enumerateObjectsUsingBlock:^(UIView *currentView, NSUInteger idx, BOOL *stop) {
[superview addSubview:currentView];
[superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[view]|" options:0 metrics:nil
views:@{@"view" : currentView}]];
if (idx == 0)//If First element
{
[superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view]" options:0 metrics:nil
views:@{@"view" : currentView}]];
}
else if (idx != [arrayOfViews count] - 1)
{ //Not last element
UIView *brotherView = arrayOfViews[idx - 1];
[superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[brotherView][currentView(brotherView)]" options:0 metrics:nil
views:@{@"brotherView" : brotherView, @"currentView" : currentView}]];
}
else //Last element
{
UIView *brotherView = arrayOfViews[idx - 1];
[superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[brotherView][currentView(brotherView)]|" options:0 metrics:nil
views:@{@"brotherView" : brotherView, @"currentView" : currentView}]];
}
}];
关于ios - constraintsWithVisualFormat 可以用于未知数量的 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25297515/
我已经添加了这样的约束,但无法获得正确的 View 框架。 [self addSubview:self.scrollView]; [self.scrollView addSubview:self
我正在学习如何以编程方式使用 NSLayoutConstraints,主要是 constraintsWithVisualFormat,为此我正在尝试使用此布局重新创建 View : 这个 View 由
我已设置 ScrollView 并向 ScrollView 添加约束。但它显示空白屏幕。请检查以下代码。 override func loadView() { super.lo
我是 iOS 初学者,在我的项目中,我使用自动布局(constraintsWithVisualFormat)以编程方式在 UIView 上添加了一些文本字段,但两个文本字段之间的空间不固定. 根据我的
我在 Swift 2.0 中遇到 AutoLayout 的奇怪问题 self.webView = WKWebView() self.view.addSubview(self.webView!) var
我想在容器 View 的右下角放置一个指示器 View ,我有这个代码来插入 View var img:UIImageView? img = UIImageVi
我的模型中有一个标签列表。我想将它们作为标签添加到 tagView UIView 中作为 subview 。 NSMutableArray *list = [NSMutableArray new];
假设我有一个动态创建的 UIView 数组,并且我将它们添加到同一个父 View ,我可以使用 constraintsWithVisualFormat 来设置约束,以便它们垂直堆叠吗? constra
我有一个非常简单的用户界面,可以很好地与 constraintsWithVisualFormat 配合使用,我尝试用 constraintWithItem 替换它,但由于某种原因它无法正常工作。我不知
尝试使用 iOS 的可视化格式语言,但在尝试初始化约束时遇到 sigabrt。这段代码有什么明显的问题吗? NSNumber *inset = [NSNumber numberWithFloa
我正在尝试 Swift 并使用布局格式。我使用的 IDE 是 Xcode6-Beta2。 var viewDictionary:Dictionary = ["myButton": myButt
我遇到了一个问题,我不知道如何在某些特定 View 上使用没有 addConstraints 函数的旧函数 constraintsWithVisualFormat。 头文件说: This method
我只是在玩 constraintsWithVisualFormat 但不知道该怎么做。 我有两个 View 放置在一起,水平方向的边距为 10 像素。两个 View 的 Y 位置相同。 我尝试了以下方
我需要在我的应用程序中使用 constraintsWithVisualFormat 实现 UIScrollView 可能有人会用一些代码指导我。谢谢! import UIKit class ViewC
我认为很容易回答:如果我不想使用 [NSLayoutConstraint constraintsWithVisualFormat:options:metrics:views:] 的选项参数,应该传递什
所以我有一个项目,并且项目中的 UI 是完全编码的(根本没有 .xib 文件或 Storyboard)。使用 Objective-C,我们可以传递 nil 或 0 作为 options 参数的参数。像
我在我的演示项目中编写了以下代码。 func createConstraints() -> Void { //Views to add constraints to
我是一名优秀的程序员,十分优秀!