每次我的自定义UITableViewCells中的一个由tableView:cellForRowAtIndexPath绘制:控制台吐出一堆NSLayoutConstraint不一致。我了解其中的大部分内容:Unabletosimultaneouslysatisfyconstraints....boringstuff.."","","","","")Willattempttorecoverbybreakingconstraint或者至少我认为我是。真正让我感到困惑的是,我的UITableViewCell正在工作并且似乎没有任何约束被打破。我认为错误中列出的一些约束,尤其是最后一个,是系统
想象一下以下场景。你有一个UIImageView和一个UIButton。第一个是300x360,第二个是210x70。imageview包含目录图像,button说“打开目录”。我想根据这些要求在主视图中定位元素:两个元素应该水平居中,即center.x坐标应该都相等(View,图像和按钮);这两个元素应按以下方式垂直居中:分隔符(灵活)-ImageView-分隔符(固定,比方说30点)-按钮-分隔符(灵活)。最上面和最下面的分隔符应该有相同的大小(这是居中的意思)。我无法使用NSLayoutConstraint使其正常工作。到目前为止,我所做的是使用NSLayoutAttribute
我有一个UILabel,我想对其进行设置,使其具有固定的宽度和可变的高度,这取决于它的text而不是它的superView.即如果text是“HelloWorld”。那么标签将是...------------------------|HelloWorld.|------------------------并且如果text是“这是一些很长的文本,超过几行。”然后标签将是...------------------------|Thisissomeverylong||textthatgoesover||severallines.|------------------------我已经使用NS
我有这个简单的观点:-(void)viewDidLoad{[superviewDidLoad];redBox=[[UIViewalloc]init];[redBoxsetBackgroundColor:[UIColorredColor]];[redBoxsetTranslatesAutoresizingMaskIntoConstraints:NO];[self.viewaddSubview:redBox];//H:widthConstraint=[NSLayoutConstraintconstraintWithItem:redBoxattribute:NSLayoutAttribute
无论您目前从事什么项目,只需在UIView中的任何屏幕上放置只需添加一个宽度限制(666或任何合适的),将约束的自定义类更改为Constrainty运行应用,这怎么可能?它实际上是否在“类初始化之前”或类似的情况下调用常量的值?怎么会发生,怎么解决?起初,我将这两个变量作为@IBInspectable,令我惊讶的是它们根本不起作用。但后来我将它们更改为普通的let常量-但这是行不通的!classConstrainty:NSLayoutConstraint{letpercentageWidth:CGFloat=77//nothingupmysleeveletlimitWidth:CGFl
我以编程方式创建了一个自动布局约束,将标签从其父View底部向上移动25点。我在此场景中没有定义其他约束。25在大多数设备上都可以,但在iPhone4s上就太高了。对于那个屏幕尺寸,我想让它从底部向上大约15个。但后来我想获得一个可变常量会好得多,而不是为所有屏幕尺寸强制执行一个固定值,或者试图为一个特定的屏幕尺寸更改它。但似乎这在自动布局中是不可能的。是吗?我在想获得可变常量的一种方法是根据屏幕(或View)高度计算一个值。例如,常量等于self.view.frame.size.height/30。在iPhone4(仅纵向)上为16,在iPhone5上几乎为19,等等。这将是完美的。
我已经在我的代码中拖放了约束并且可以访问它。@IBOutletweakvarbetweenTextTerms:NSLayoutConstraint!然而,似乎我所能做的就是设置常量。但是如何在代码中设置诸如CompactRegular之类的变体的值? 最佳答案 要以编程方式执行此操作,您需要覆盖ViewController中的traitCollectionDidChange:方法。然后您可以查看self.traitCollection.horizontalSizeClass和self.traitCollection.vertic
我正在使用此代码Swift3-CollectionViewdatasourcedidnotreturnavalidcell从TERENCE答案更新:在viewDidLoad我放了collectionView?.translatesAutoresizingMaskIntoConstraints=falsemessageInputContainerView.translatesAutoresizingMaskIntoConstraints=falseview.addConstraintsWithFormat(format:"H:|-0-[v0]-0-|",views:messageInpu
我正在尝试转换下面的swift代码NSLayoutConstraint.Attribute.height我正在使用SkeletonView,它在执行时抛出错误。我找不到那个新的替换语法类型“NSLayoutConstraint”没有成员“Attribute” 最佳答案 这完全取决于您使用的Swift版本。NSLayoutConstraint.Attribute.height//Swift4.2NSLayoutAttribute.height//Swift3.0+NSLayoutAttributeHeight//Swift2?
一个可重现的例子classViewController:UIViewController{varcreated=falseoverridefuncviewDidLayoutSubviews(){super.viewDidLayoutSubviews()if!created{letscrollView=UIScrollView()scrollView.backgroundColor=UIColor.grayColor()view.addSubview(scrollView)letkidView=UIView()kidView.backgroundColor=UIColor.redColo