[self.view.constraintsenumerateObjectsUsingBlock:^(NSLayoutConstraint*constraint,NSUIntegeridx,BOOL*stop){if((constraint.firstItem==view)&&(constraint.firstAttribute==NSLayoutAttributeTop)){constraint.constant=-200;}}];在Objective-C中,我将能够枚举View的约束并相应地调整约束,但在Swift中我很难想出做同样的事情。这是我在swift中应用代码的尝试:for
在我使用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
如何使用IB约束和NSLayoutConstraint?我想以编程方式微调我的InterfaceBuilderStoryboard布局,因为我无法单独在InterfaceBuilder中通过约束实现所需的布局。iPhone4S和iPhone6Plus对我的iOS8布局特别有挑战性。问题:如何在UIViewController出现时找到屏幕尺寸?如何在iOS8中检测方向变化和由此产生的屏幕尺寸?如何以编程方式修改布局约束?如何以编程方式处理IBsizeclasses?也许通过在IB中“加权”组件,我可以补偿iPhone6Plus尺寸类的布局问题。但这似乎比以编程方式进行一些调整更具挑战性
我有一个带有UILabel和UIImageView的UITableViewCell。图像可以是可见的或隐藏的。这是我的Storyboard:UILabel的尾部有两个约束,一个(a)对于UIImageView等于8,另一个(b)大于或等于8与单元格的右边距。我保留第一个(a)的引用,如果有或没有声音,我会激活或停用约束。这是我的代码:classMyTableViewCell:UITableViewCell{@IBOutletweakvarlabel:UILabel?@IBOutletweakvaricon:UIImageView?@IBOutletweakvarspaceBetween
我正在尝试以编程方式生成一个“分数页面”,其中每个属性的分数都有一个UILabel和一个UISlider。由于没有固定数量的属性,我决定以编程方式执行此操作(而不是在Storyboard中)我的想法是为每个属性创建一个UIView,然后将一个UILabel和一个UISlider插入到UIView中,然后设置约束。但是,我遇到了一个问题,即我无法正确设置约束,或者由于缺乏执行此类操作的经验而可能错过的另一个巨大错误。结果,所有UIView都粘在屏幕的左上角(0,0)并且彼此重叠。到目前为止,这是我的代码:funcaddLabels(attributesArray:[String],tes
我试图遍历View约束。我向view1添加了:顶部、尾部、前导和高度约束。top、trailing和leading是主ViewControllersView。如果我遍历view1的约束,我只会看到高度约束。forconstraintinview1.constraints{print(constraint)}NSLayoutConstraint:0x6180000968a0UIView:0x7fae6b409dd0.height==146(active)所以我遍历了它的superView约束(ViewControllers主视图),我得到了很多约束,其中一些与view1相关联。forco
我在UIViewController中设置了一些在ios8上运行良好的布局约束。但是,一旦我在ios7上运行它,就会出现以下错误:***Assertionfailurein-[UIViewlayoutSublayersOfLayer:],/SourceCache/UIKit_Sim/UIKit-2935.137/UIView.m:8803这是我的代码:classDatacenterIndicatorViewController:UIViewController{letsideMargins:Float=12.0vardataCenterPollingLabel:UILabel=UILa
下面是我的配置文件View约束,View呈现良好,但宽度始终返回零。因此,最终约束profileImageView.layer.cornerRadius=(profile.frame.width/2)每次都返回零。profileImageView.translatesAutoresizingMaskIntoConstraints=falseaddConstraint(NSLayoutConstraint(item:profileImageView,attribute:.width,relatedBy:.equal,toItem:containerView,attribute:.widt
NSLayoutConstraint(在iOS8.0中)有一个名为active的BOOL属性,可以轻松禁用/即时启用所述布局约束。要为ViewController创建第二个布局集,然后我可以以编程方式启用/禁用(通过NSLayoutConstraints的IBOutletCollection为两个集设置),我需要在界面生成器中禁用我已经定义的布局约束。让我在这里明确一点,我不想删除它们,只是禁用它们,这样我就可以设计第二个集合,而无需界面构建器一直提示不匹配的约束。此外,切换尺码类别不是一种选择,因为布局集适用于一个且相同的尺码类别。是否有这样做的选项?提前致谢马尔特更多信息:SDK版
我有一个关于设置要应用某些布局约束的View大小的问题。如何在不定义框架的情况下定义View的大小?我正在尝试创建一个高度固定且原点位于屏幕原点的View。它填充View的宽度,以便在设备旋转时View扩展到屏幕的宽度。这就是我到目前为止所得到的...self.containerView=[[HitTestContainerViewalloc]init];[self.containerViewsetBackgroundColor:[UIColorredColor]];[self.viewaddSubview:self.containerView];NSDictionary*viewsD