我有这个简单的观点:-(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
[self.view.constraintsenumerateObjectsUsingBlock:^(NSLayoutConstraint*constraint,NSUIntegeridx,BOOL*stop){if((constraint.firstItem==view)&&(constraint.firstAttribute==NSLayoutAttributeTop)){constraint.constant=-200;}}];在Objective-C中,我将能够枚举View的约束并相应地调整约束,但在Swift中我很难想出做同样的事情。这是我在swift中应用代码的尝试:for
我以编程方式创建了一个自动布局约束,将标签从其父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
在我使用anchor属性设置约束之后,例如这个。pageControl.anchorWithFixedHeight(nil,leading:view.leadingAnchor,bottom:view.bottomAnchor,trailing:view.trailingAnchor,topConstant:0,leadingConstant:0,bottomConstant:0,trailingConstant:0,heightConstant:30)其中anchorWithFixedHeight只是一个辅助函数,如下所示:funcanchorWithFixedHeight(_top
我正在使用此代码Swift3-CollectionViewdatasourcedidnotreturnavalidcell从TERENCE答案更新:在viewDidLoad我放了collectionView?.translatesAutoresizingMaskIntoConstraints=falsemessageInputContainerView.translatesAutoresizingMaskIntoConstraints=falseview.addConstraintsWithFormat(format:"H:|-0-[v0]-0-|",views:messageInpu
如何使用IB约束和NSLayoutConstraint?我想以编程方式微调我的InterfaceBuilderStoryboard布局,因为我无法单独在InterfaceBuilder中通过约束实现所需的布局。iPhone4S和iPhone6Plus对我的iOS8布局特别有挑战性。问题:如何在UIViewController出现时找到屏幕尺寸?如何在iOS8中检测方向变化和由此产生的屏幕尺寸?如何以编程方式修改布局约束?如何以编程方式处理IBsizeclasses?也许通过在IB中“加权”组件,我可以补偿iPhone6Plus尺寸类的布局问题。但这似乎比以编程方式进行一些调整更具挑战性
我正在尝试转换下面的swift代码NSLayoutConstraint.Attribute.height我正在使用SkeletonView,它在执行时抛出错误。我找不到那个新的替换语法类型“NSLayoutConstraint”没有成员“Attribute” 最佳答案 这完全取决于您使用的Swift版本。NSLayoutConstraint.Attribute.height//Swift4.2NSLayoutAttribute.height//Swift3.0+NSLayoutAttributeHeight//Swift2?
我有一个带有UILabel和UIImageView的UITableViewCell。图像可以是可见的或隐藏的。这是我的Storyboard:UILabel的尾部有两个约束,一个(a)对于UIImageView等于8,另一个(b)大于或等于8与单元格的右边距。我保留第一个(a)的引用,如果有或没有声音,我会激活或停用约束。这是我的代码:classMyTableViewCell:UITableViewCell{@IBOutletweakvarlabel:UILabel?@IBOutletweakvaricon:UIImageView?@IBOutletweakvarspaceBetween