我在.xib文件中为UILabel创建了一个strong约束,并为它创建了一个导出。在我的代码中,我设置了self.constraint.active=NO,但是在应用程序加载后,当我打开DebugViewHierarchy时,相同的约束处于事件状态.我尝试在viewDidLoad、updateViewConstraints和viewDidLayoutSubviews中设置它,但无济于事。我还创建了一个NSLayoutConstraint子类,重写了setActive:方法并在其中放置了一个断点,但只有我的代码触发了它。 最佳答案
如何编写(或在IB中执行)动态tableViewCell高度的布局约束?例如,如果单元格的contenView中有textView(大小适合),我希望单元格与标签一样高。 最佳答案 如果您已经完全正确地设置了约束,则可以通过获取单元格实例并对其调用systemLayoutSizeFittingSize:UILayoutFittingCompressedSize来计算高度。这将导致您的实例围绕约束收缩,从而为您提供所需的高度。但是,表格中的单元格仍然会从tableView:heightForRowAtIndexPath:中获取它们的高
我正在为iOS8更新我的应用程序,并注意到[NSLayoutConstraintconstraintWithItem:..]的行为发生了变化。这在iOS7中工作正常,但在iOS8中,具有嵌套subviewView的约束无法正常工作。NSLayoutConstraint*myConstraint=[NSLayoutConstraintconstraintWithItem:myView.mySubview.labelattribute:NSLayoutAttributeToprelatedBy:NSLayoutRelationEqualtoItem:label2attribute:NSLa
我目前在我的应用中使用“Masonry”和“POP”。我想知道如何为Masonry创建的约束设置动画?所以这是我的代码:[imageViewmas_makeConstraints:^(MASConstraintMaker*make){make.size.equalTo([NSValuevalueWithCGSize:CGSizeMake(ScreenWidth,ScreenHeight)]);make.top.equalTo(self.mas_top);}];所以这是一个简单的例子。当POP为约束的变化设置动画时,它需要这样的东西(我在这里保存了一些代码):@property(weak
我有一个View(mainView),它有4个约束,使它的所有4个边都粘在它的superView上。换句话说,我正在制作它,所以它的大小与它正上方的superView完全相同。问题是,当我这样做时:CGAffineTransformscaleT=CGAffineTransformMakeScale(0.7f,0.7f);self.mainView.transform=scaleT;为了让它更小,我预计它会与约束发生冲突,但是没有抛出异常。我期望它与约束冲突的原因是因为现在mainView小了70%,所以它不可能坚持它的superView的边缘。相反,它所做的是将自己置于其父View的中
这看起来应该是一个简单的任务,但是有没有办法以编程方式告诉NSLayoutConstraint是水平约束还是垂直约束?我能想到的尝试改变这种差异的唯一方法是调用[constraintdescription];然后在结果字符串中搜索"V:"或“H:”我想找到这些信息的原因是我在storyboard上的prototypeUITableViewCell上设置了2个几乎相同的约束,唯一的区别在于一个描述了与superview的水平距离,另一个描述了垂直距离。我想删除垂直的、以编程方式添加的约束,以描述在给定从我的服务器返回的特定参数的情况下添加的新View。任何建议都会非常有帮助!编辑:我接受
我对某些NSLayoutConstraint设置有疑问,这些设置来自iOS9(我认为)。无论如何,我收到以下控制台错误:ThisNSLayoutConstraintisbeingconfiguredwithaconstantthatexceedsinternallimits.Asmallervaluewillbesubstituted,butthisproblemshouldbefixed.Breakonvoid_NSLayoutConstraintNumberExceedsLimit()todebug.Thiswillbeloggedonlyonce.Thismaybreakinth
在我的viewDidLoad方法中,我有创建MKMapView、一些约束和UIToolbar的代码:我有一个MKMapView:MKMapView*mapView=[[MKMapViewalloc]init];[mapViewsetTranslatesAutoresizingMaskIntoConstraints:NO];mapView.userInteractionEnabled=TRUE;mapView.showsUserLocation=TRUE;mapView.mapType=MKMapTypeHybrid;mapView.delegate=self;[mapViewsetUs
我正在开发一个目标为iOS7的应用程序,当我将该应用程序部署到iPhone4时出现以下错误。[NSLayoutConstraintsetActive:]:unrecognizedselectorsenttoinstance我调查了一下,发现setActive是在iOS8中引入的。问题是,在iOS7左右,setActive的替代方案是什么?我需要以编程方式操纵约束,但似乎无法在任何地方找到答案。 最佳答案 另一种方法是从View中添加/删除约束:[myViewaddConstraint:constraint];[myViewremov
假设我有一个来自名为label的父类(superclass)的实例变量,我想使用视觉格式设置自动布局约束。如果我尝试在格式字符串中使用self.label,则会出现解析错误,而且我无法从子类访问_label。目前有效的解决方法如下,但看起来有点难看。有没有更好的办法?UILabel*label=self.label;NSDictionary*views=NSDictionaryOfVariableBindings(label,_textField);[self.contentViewaddConstraints:[NSLayoutConstraintconstraintsWithVis