Tag: 自动布局

'无法在descriptionForLayoutAttribute_layoutItem_coefficient中创build描述。 有些东西是零“

首先,我得到了3个不同的UIViews来代替iPad Storyboard上的Split View Controller中的细节视图 它在iOS8 iPad上运行良好。 但是当我加载其中一个细节视图时,应用程序在iOS7和iOS 6模拟器中运行时崩溃。 我只假设这是因为我的故事板上的自动布局。 有谁知道如何修理它? 2014-09-25 04:15:19.705 PSTappsperance[48327:60b] Pad AppDelegate ######## 2014-09-25 04:15:27.869 PSTappsperance[48327:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil' *** First throw call stack: ( 0 CoreFoundation 0x0000000110a5c495 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x00000001107af99e objc_exception_throw + 43 […]

在自动布局中,无论方向如何,我怎样才能将视图占用一半的屏幕?

在肖像模式下,我有左侧的桌面视图和右侧的web视图。 他们都拿走了一半的屏幕。 我有自动布局启用。 但是,当我将屏幕旋转到横向模式时,tableview的宽度占用不到屏幕大小的一半,而webview最终会占用更多的空间,而不是平均分割。 为什么会这样呢? 无论屏幕方向如何,我怎样才能将视图占据屏幕宽度的一半?

自动布局错误

我有一个类似的问题, 这张海报 。 我用jrturton的build议将用于定制button的代码移动到viewDidLayoutSubviews 。 直到我收到这个错误,它运行良好: 'NSInternalInconsistencyException',原因:'在向视图控制器发送-viewDidLayoutSubviews之后仍然需要自动布局。 ViewController的实现需要发送-layoutSubviews到视图来调用自动布局。 我对graphics非常无知,唯一能想到的就是把[self.view layoutSubviews]; 但是这并没有解决任何问题。 当我取消选中“故事板”中的“自动布局”,但它改变了我的button的尺寸,我想知道是否有另一种方法来解决它? 码: -(void)viewDidLayoutSubviews { NSArray *arrayOfButtons = [NSArray arrayWithObjects:self.decimalButton, self.buttonOne, self.buttonTwo, self.buttonThree, nil]; for (UIButton *button in arrayOfButtons) { [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; [button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted]; button.layer.borderWidth = 0.25f; button.layer.borderColor = [[UIColor grayColor] CGColor]; CAGradientLayer *btnGradient = [CAGradientLayer layer]; btnGradient.frame = button.bounds; btnGradient.colors […]

如何使用容器转换的自动布局?

如何使用UIViewController容器转换方法使用自动布局: -(void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion; 传统上,使用Springs / Struts,您可以设置初始帧(在调用此方法之前),并在传递给方法的animation块中设置最终帧。 该方法将视图添加到视图层次结构并为您运行animation。 问题在于,我们不能在同一个地方(方法调用之前)添加初始约束,因为视图还没有添加到视图层次结构中。 任何想法如何与自动布局一起使用这种方法? 下面是一个使用Spring / Struts(框架)的例子(谢谢cocoanetics) http://www.cocoanetics.com/2012/04/containing-viewcontrollers – (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController { // XXX We can't add constraints here because the view is not yet in the view hierarchy // animation setup toViewController.view.frame = _containerView.bounds; toViewController.view.autoresizingMask = _containerView.autoresizingMask; // […]

AutoLayout行高错误计算NSAttributedString

我的应用程序从一个API拉HTML,将其转换成一个NSAttributedString (为了允许可点击的链接),并将其写入到AutoLayout表中的一行。 麻烦的是,任何时候我调用这种types的单元格,高度是错误的计算和内容被切断。 我已经尝试了行高计算的不同实现,其中没有一个正常工作。 我怎样才能准确地,dynamic地计算这些行之一的高度,同时仍然保持点击HTML链接的能力? 不希望的行为的例子 我的代码如下。 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { switch(indexPath.section) { … case kContent: { FlexibleTextViewTableViewCell* cell = (FlexibleTextViewTableViewCell*)[TableFactory getCellForIdentifier:@"content" cellClass:FlexibleTextViewTableViewCell.class forTable:tableView withStyle:UITableViewCellStyleDefault]; [self configureContentCellForIndexPath:cell atIndexPath:indexPath]; [cell.contentView setNeedsLayout]; [cell.contentView layoutIfNeeded]; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.desc.font = [UIFont fontWithName:[StringFactory defaultFontType] size:14.0f]; return cell; } … default: return nil; } } – (CGFloat)tableView:(UITableView […]

匹配自定义和标准UITableViewCelltypes的左alignment

我在故事板中定义了自定义的UITableViewCell 。 我也使用一些内置的标准样式单元格。 我需要设置约束条件,以便我的自定义单元格与平台定义的单元格相匹配 (在左侧将它们的标题正确alignment)。 我注意到,单元格的左alignment在iOS版本和运行的设备之间改变。 看起来像左alignment是默认的单元格separatorInset相同。 这里是几个设备和iOS版本的UITableViewCell的separatorInset : iPad在7 – 15点。 iPad的8 – 20点。 iPhone上7 – 15点。 iPhone 8 – 16点。 其他设备(iPhone 6+,iPad Mini)可能不同 – 我没有详尽检查。 你将如何确保自定义单元格和内置单元格具有相同的标签左alignment? 有没有一种明智的方法来获取这些插图的默认值,并在故事板中设置的自动布局约束中使用它们? 如何在代码?

iOS以编程方式为表格视图单元格内容创buildNSLayoutConstraint

我想在cellForRowAtIndexPath中添加一些视图到我的单元格内容视图和他们的约束,但没有任何作品。 我有这样的东西: NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:cell.contentView attribute:NSLayoutAttributeLeft multiplier:1.0f constant:10.0f]; [cell.contentView addConstraint:constraint]; 我应该怎么做?

将autoLayout约束应用于多个对象

我正在玩iOS的autoLayout约束 我的用例就是这样, 我会更好地解释与图像 我正在使用UITableViewCell的自定义单元格,通过自动布局我已经设置了下面的文本和分隔线的约束,他们服从自动布局约束。 现在你可以看到左边的黄色垂直条。 我没有对它设置任何约束,所以当细胞高度正常时,它覆盖整个细胞,但是当细胞高度增加时,它不会增加并填满整个细胞。 对于细胞,我无法做到高度灵活。 我想扩大黄色条覆盖整个单元格。 所以我怎么能做到这一点。

Autolayout:为什么这些相同的约束不同?

我正在学习自动布局。 我目前添加一个简单的约束:视图和超视图之间的0px页边距。 显然,有两种方法可以添加这个约束: 首先,单击xib编辑器的右下angularbutton,select左边距,然后单击添加n约束 ,如给定的屏幕截图中所示: 这是第一个约束属性。 它有一个16px的常量边距: 第二种方法,在Xcode菜单中select:编辑器>引脚>引导空间到超视图: 现在,我的约束有0px,但是也是有效的:视图根据其超视图很好地适应 这是我的第二个约束属性: 第一个问题:为什么我的第一个约束左右边距是16px ? 我正在开发一个全新的项目! 如果我设置0px,我的视图周围有一些额外的空间! 第二个问题:这两个约束有什么区别? 什么是最好的方法? 谢谢

dynamic更改自动布局

我必须展示3个标签 LABEL1 | LABEL2 | Label3 //Horizontally 我希望这些3标签的宽度根据屏幕尺寸宽度平均分配 我怎样才能直接与nib文件实现这一点? 谢谢 问题2 Label1 | Label2 | Lable3 //所有标签的宽度是平等的 //所有标签都是视图调用X视图的子视图 标签1:高度是100 Label2:高度是150 标签3:高度是300 问:现在我想X视图的高度为最大(100,150,300)= 300