jjzjj

NSLayoutConstraint

全部标签

ios - 如何检查 NSLayoutConstraint 是否正在动画

我正在创建一个自定义的NSLayoutConstraint子类,我需要知道布局约束的constant属性当前是否正在为内部状态处理设置动画。换句话说,我需要区分:{//noanimationmyLayoutConstraint.constant=100;}和{//animatedmyLayoutConstraint.constant=100;[UIViewanimateWithDuration:0.2animations:^{[self.myViewThatHasTheConstraintAttachedlayoutIfNeeded];}completion:^(BOOLfinishe

iOS:自动布局灵活边距

我的UIView中有一个UILabel对象。我想让这个标签在它的superView大小改变时分别移动。这类似于旧的UIViewAutoresizingFlexibleTopMargin、UIViewAutoresizingFlexibleRightMargin、UIViewAutoresizingFlexibleBottomMargin和UIViewAutoresizingFlexibleLeftMargin,因此如果父View高度发生变化,labeltopmargin会分别改变,leftmargin也一样。如何使用Autolayout而不是旧的autoresizingmask来做到这

ios - 稍后以编程方式更改一组 NSLayoutConstraint

我正在代码中创建一个View(没有xib或Storyboard)并在代码中设置约束,例如:NSDictionary*bindings=NSDictionaryOfVariableBindings(_myView);_myView=[[UIViewalloc]init];[self.viewaddSubview:_myView];_myView.translatesAutoresizingMaskIntoConstraints=NO;[self.viewaddConstraints:[NSLayoutConstraintconstraintsWithVisualFormat:@"H:|-

ios - 使用 AutoLayout 查看两个位置

我有一个要定位的View列表。我有两种状态,View的位置应该不同。我是AutoLayout的新手,我可能以错误的方式访问它-我愿意接受不同的方式。我创建这个是为了定位第一个状态的TabBarItem:UIView列表:NSMutableDictionary*metrics=[@{@"margin":@(TAB_BAR_ITEM_MARGIN)}mutableCopy];for(inti=0;i0){TabBarItem*lastAddedItem=[self.tabBarItemsobjectAtIndex:i-1];NSDictionary*viewsDictionary=NSDi

ios - 无法同时满足打开相机的约束

我有一个使用webview来显示一些HTML表单的应用程序。在HTML表单中,添加了从设备中选择图像的功能。所有功能都来自用于捕获图像的HTML表单。当我从webview单击表单的浏览按钮时,摄像头打开并且一切正常,但我在下面登录xcode。Snapshottingaviewthathasnotbeenrenderedresultsinanemptysnapshot.Ensureyourviewhasbeenrenderedatleastoncebeforesnapshottingorsnapshotafterscreenupdates.Unabletosimultaneouslysa

ios - 渲染 View 中的自动布局不会更新其框架

我有一个从带有各种标签的xib创建的View。我没有将这个View添加到我的屏幕上,而是在上下文中渲染它以创建一个用户可以导出的UIImage。View使用自动布局根据内容重新定位标签。当我将此View添加到superView并将其显示在屏幕上时,所有内容都已正确定位,但如果我只是在上下文中渲染它,则不会应用任何自动布局约束;所有标签的大小都与它们在原始xib中的位置完全相同。如何让View应用其约束?我已经尝试了以下但没有成功:view.translatesAutoresizingMaskIntoConstraints=FALSE;[viewsetNeedsUpdateConstra

ios - Storyboard中的自定义 tableViewCell 在 iOS8.1 中失去了它的自动布局约束

问题是我可以获得我的自定义UITableViewCell(自定义backgroundColor已更改),但其中的约束全部丢失。附言。我正在使用Xcode6.1.1。我想得到正确的高度值,但是约束都丢失了。-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPathstaticHomeMainNewsCell*mainCell=nil;staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{mainCell=[

ios - 自动布局:删除 View 时相邻 View 的后备约束

我试图在UICollectionReusableView(UICollectionViewHeader)上下文中进行这项工作。UILabelsA、B和C中字符串所需的高度被计算并设置为灰色View的高度,有点像这样:-(CGSize)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutreferenceSizeForHeaderInSection:(NSInteger)section{....CGFloatexpectedHeightFor

ios - 更改 UITableViewCell 大小给我一个错误

我在staticUITableViewCell中有一个UIView。我在view中添加了一个高度constraint。我认为,为views高度的变化设置动画的正确方法是这样的:self.myViewsHeightConstraint.constant=100;//Comingfrom0andviceversa[UIViewanimateWithDuration:0.3fanimations:^{[self.viewlayoutIfNeeded];}];我将tableView行高设置为:tableView.estimatedRowHeight=40;self.tableView.rowH

ios - 不同的纵向和横向自动布局约束 : where to set them when the device is firSTLy in landscape?

我已经将NSLayoutConstraint设置为IBOutlet,并且我在storyboard和IB中设置了值>用于纵向。当我以纵向运行应用程序然后将设备旋转为横向时,我管理约束更新。但是当我运行应用程序时,设备已经处于横向状态,约束具有纵向值。加载ViewController并显示View时,我应该在哪里检查设备的当前方向,并根据该方向设置适当的约束?谢谢 最佳答案 您最初可以在viewDidLoad方法中保留一个条件if(UIInterfaceOrientationIsPortrait([[UIApplicationshare