草庐IT

nslayoutconstraints

全部标签

ios - 暂时移除NSLayoutConstraint?

我有一个使用AutoLayout布局的UITableViewCell子类,我想要一个小动画,其中ImageView会变换、放大一点并缩小。目前,由于限制,图像右侧的标签也在移动(这是应该的)。我想要一个快速简单的方法来临时说“在这个动画运行时将这些标签留在它们当前所在的位置”。这是我不需要删除和重新添加这些约束就可以做的事情吗? 最佳答案 从iOS8开始NSLayoutConstraints现在有一个active您可以更改的属性myConstraint.active=NO;.这将删除约束,同时将此值设置为YES将[重新]添加它:Ac

ios - 程序化 NSLayoutConstraint 动画问题

所以我试图为一些布局约束设置动画,但运气很差,我什么也没看到,然后我收到一条错误消息,说明它如何不能同时满足所有约束等。我正在使用一个名为PullableView的类谁的动画用的是旧风格[UIViewcommitAnimation]所以我对它进行了子类化并在我的代码中添加了我认为用于动画约束的东西......没有这样的运气并且试图为其制作动画甚至让它做很多事情被证明是困难的我只是得到“无法同时满足约束”。问题是我对这个约束业务还很陌生,所以我不知道从哪里开始。这是错误,另一个几乎相同,但针对centerY。"",""我当然会[pullRightViewsetTranslatesAuto

ios - 如何修复似乎不影响自定义 UITableViewCell 布局的奇怪 NSLayoutConstraint 错误

每次我的自定义UITableViewCells中的一个由tableView:cellForRowAtIndexPath绘制:控制台吐出一堆NSLayoutConstraint不一致。我了解其中的大部分内容:Unabletosimultaneouslysatisfyconstraints....boringstuff.."","","","","")Willattempttorecoverbybreakingconstraint或者至少我认为我是。真正让我感到困惑的是,我的UITableViewCell正在工作并且似乎没有任何约束被打破。我认为错误中列出的一些约束,尤其是最后一个,是系统

ios - 使用 NSLayoutConstraint 垂直居中两个 View

想象一下以下场景。你有一个UIImageView和一个UIButton。第一个是300x360,第二个是210x70。imageview包含目录图像,button说“打开目录”。我想根据这些要求在主视图中定位元素:两个元素应该水平居中,即center.x坐标应该都相等(View,图像和按钮);这两个元素应按以下方式垂直居中:分隔符(灵活)-ImageView-分隔符(固定,比方说30点)-按钮-分隔符(灵活)。最上面和最下面的分隔符应该有相同的大小(这是居中的意思)。我无法使用NSLayoutConstraint使其正常工作。到目前为止,我所做的是使用NSLayoutAttribute

ios - UILabel 的 NSLayoutConstraint 到 "grow"额外行

我有一个UILabel,我想对其进行设置,使其具有固定的宽度和可变的高度,这取决于它的text而不是它的superView.即如果text是“HelloWorld”。那么标签将是...------------------------|HelloWorld.|------------------------并且如果text是“这是一些很长的文本,超过几行。”然后标签将是...------------------------|Thisissomeverylong||textthatgoesover||severallines.|------------------------我已经使用NS

iphone - 将无法满足的 NSLayoutConstraints 的内存地址映射到 UI 控件

我很欣赏XCode将捕获无法满足的NSLayoutConstraints并为您提供一些相关信息,但是我不知道如何获取控件/约束的内存地址并将其映射到实际控件有问题。我的应用程序相当大(大约20个屏幕),有些是大型UIViewControllers,其中有几个subviewController。有些是带有自定义单元格的UITableViews和带有自定义单元格的UICollectionViews。我正忙着找出这个错误的原因(发生在横向旋转时)这是我控制台的信息:2013-05-0211:18:53.225Smile[7519:c07]Unabletosimultaneouslysatis

ios - 自动布局 : animating changes to NSLayoutConstraint's multiplier

我有这个简单的观点:-(void)viewDidLoad{[superviewDidLoad];redBox=[[UIViewalloc]init];[redBoxsetBackgroundColor:[UIColorredColor]];[redBoxsetTranslatesAutoresizingMaskIntoConstraints:NO];[self.viewaddSubview:redBox];//H:widthConstraint=[NSLayoutConstraintconstraintWithItem:redBoxattribute:NSLayoutAttribute

ios - 子类化 NSLayoutConstraint,常量的奇怪行为

无论您目前从事什么项目,只需在UIView中的任何屏幕上放置只需添加一个宽度限制(666或任何合适的),将约束的自定义类更改为Constrainty运行应用,这怎么可能?它实际上是否在“类初始化之前”或类似的情况下调用常量的值?怎么会发生,怎么解决?起初,我将这两个变量作为@IBInspectable,令我惊讶的是它们根本不起作用。但后来我将它们更改为普通的let常量-但这是行不通的!classConstrainty:NSLayoutConstraint{letpercentageWidth:CGFloat=77//nothingupmysleeveletlimitWidth:CGFl

ios - 在 Swift 中枚举 View 的 NSLayoutConstraints?

[self.view.constraintsenumerateObjectsUsingBlock:^(NSLayoutConstraint*constraint,NSUIntegeridx,BOOL*stop){if((constraint.firstItem==view)&&(constraint.firstAttribute==NSLayoutAttributeTop)){constraint.constant=-200;}}];在Objective-C中,我将能够枚举View的约束并相应地调整约束,但在Swift中我很难想出做同样的事情。这是我在swift中应用代码的尝试:for

ios - 根据 View 的高度或屏幕高度设置 NSLayoutConstraint 常量

我以编程方式创建了一个自动布局约束,将标签从其父View底部向上移动25点。我在此场景中没有定义其他约束。25在大多数设备上都可以,但在iPhone4s上就太高了。对于那个屏幕尺寸,我想让它从底部向上大约15个。但后来我想获得一个可变常量会好得多,而不是为所有屏幕尺寸强制执行一个固定值,或者试图为一个特定的屏幕尺寸更改它。但似乎这在自动布局中是不可能的。是吗?我在想获得可变常量的一种方法是根据屏幕(或View)高度计算一个值。例如,常量等于self.view.frame.size.height/30。在iPhone4(仅纵向)上为16,在iPhone5上几乎为19,等等。这将是完美的。