Tag: autolayout

UICollectionViewCell自动布局

我在故事板中创build了一个简单的自定义UICollectionViewCell ,我也用相同的结果编程实现了这个function。 它有一个单独的UIImageView和两个UILabels ,如下所示: <–UIIMAGEVIEW–> <–UILABEL——–> |-(10px)- | | -(10px)- -(10px)-| <—————> <–UILABEL——–> 图像坐在左边,然后在右边是两个标签,上下彼此。 每个间隔有10个像素间隙,全部以单元Y轴为中心。 标签然后有一个常数来抵消他们从中心(上下)。 图像的高度和宽度固定为44px,标签的高度固定为20px(宽度可调)。 约束按预期工作,永远不会破坏应用程序,但它们总是吐出下面这个令人讨厌的控制台日志信息,因为它们显然正在破坏。 如果我将这一行添加到我的UICollectionViewCell子类中,约束不再中断并吐出控制台错误,但它们在屏幕上完全被破坏。 [self.contentView setTranslatesAutoresizingMaskIntoConstraints:NO]; 任何线索? 请帮忙,这似乎是不合逻辑的! 这是控制台错误代码: 2014-10-25 18:28:14.273 Air Plan[1579:580797] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each […]

仅UIScrollView自动布局垂直

我想让AutoLayout与UIScrollView一起工作,并且遇到了一些麻烦。 这是我做的: 在主视图中添加一个UIScrollView :[top:0,left:0,width:320,height:568] 使用frame和bgcolor black添加UIScrollView里面的UIView “ContentView”:[top:0,left:0,width:320,height:568] 设置UIScrollView约束:[top:0,bottom:0,left:0,right:0] 设置“ContentView”约束:[top:0,bottom:0,left:0,right:0] alignment“ContentView”中的项目 将主视图bgcolor设置为灰色(看看发生了什么) 这里是问题的截图: http : //imgur.com/P8s9lB0 由于某些原因,约束使内容视图位于屏幕中间。 而且,它在每个方向都滚动。 我想只能在UITableView垂直方向滚动内容,所以我不能像这样移动它: http : //imgur.com/lBCwfAS 我究竟做错了什么? 我已经检查了所有的教程和答案,我可以在StackOverflow和Googlefind,没有人真的有一个奇怪的问题,所以我正在寻求帮助。 编辑:我也joinContentView的宽度和高度作为约束,这也没有帮助。

如何使用自动布局以编程方式将活动指标定位到其超级视图的中心?

为什么下面的代码不能用于将活动指标定位到其超级中心的中心: UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; [self.mysuperview addSubview:activityIndicator]; [activityIndicator addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-(>=20)-[view(==100)]-(>=20)-|" options:NSLayoutFormatAlignAllCenterX | NSLayoutFormatAlignAllCenterY metrics:nil views:@{@"view" : self.mysuperview}]]; 活动指示器位于左上angular的某处,绝对不在中心。 ==================更新:find解决scheme:我必须在创build指标后closures自动调整约束,然后在给定工作的所有解决scheme: [activityIndicator setTranslatesAutoresizingMaskIntoConstraints:NO]; 我在@Vignesh给出的链接上find了,所以我接受他/她的回答。

自动布局约束与dynamicvariables?

有可能有一个dynamic常数/乘数自动布局约束( NSLayoutConstraint )? 例如,这将是一个沼泽标准NSLayoutConstraint : NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:obj1 attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:obj2 attribute:NSLayoutAttributeLeft multiplier:1 constant:0]; 那么这里就是这个约束的一个变化,而是一个常量中的一个dynamicvariables: NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:obj1 attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:obj2 attribute:NSLayoutAttributeLeft multiplier:1 constant:scrollView.contentOffset.x]; 第二个将采用scrollview的contentOffset并将其用作常量。 但是,已经尝试过了,它只使用约束条件下存在的偏移量。 我希望它有约束更新常量,滚动时如果滚动。 这样它会继续使用最新的contentOffset 。 这可能吗? 谢谢。

UICollectionViewCell用内在大小展开/折叠

我有一个自定义stream布局的集合视图,以及许多不同高度的不同单元格。 收集视图的宽度在设备旋转时发生变化,因此单元格宽度必须相应更改。 为此,我实现了“sizeForItemAtIndex”方法,并根据当前的界面方向返回不同的大小。 大多数单元不会改变它们的高度,但是,当用户点击它时,我想要展开和折叠一个单元格。 您可以假定该单元格只有一个带有一行或多行文本的UILabel。 当单元格第一次出现时,行数被设置为1,当用户点击单元格时,行数被设置为0,这里单元格应该使用标签的固有尺寸自动改变其高度。 我怎样才能达到这个效果? 这是一个应该看起来像什么的例子:

iOS6中的手势识别器和自动布局,从中心缩放

下面的这个手势识别器代码,通常会从中心缩放一个视图,而不是在iOS6中启用自动布局时。 自动布局启用时,视图似乎从原点开始缩放。 其他的仿射变换(特别是缩放和旋转)也没有像我预期的那样工作。 任何人有这个问题,或者可以启发我以正确的方式来处理这个问题? – (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer { recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale); recognizer.scale = 1; }

是否有可能在UIScrollView放大和缩小UIImageView,但坚持自动布局居中?

长话短说,我正在尝试构build类似于Photos.app的function。 我有一个UIImageView里面的UIScrollView设置在故事板中。 缩放的作品,但我无法保持居中。 在我所有基于框架的滚动视图实现中,我已经将它集中为如下,这很好地工作: – (void)scrollViewDidZoom:(UIScrollView *)scrollView { CGRect newImageViewFrame = self.imageView.frame; // Center horizontally if (newImageViewFrame.size.width < CGRectGetWidth(scrollView.bounds)) { newImageViewFrame.origin.x = (CGRectGetWidth(scrollView.bounds) – CGRectGetWidth(self.imageView.frame)) / 2; } else { newImageViewFrame.origin.x = 0; } // Center vertically if (newImageViewFrame.size.height < CGRectGetHeight(scrollView.bounds)) { newImageViewFrame.origin.y = (CGRectGetHeight(scrollView.bounds) – CGRectGetHeight(self.imageView.frame)) / 2; } else { newImageViewFrame.origin.y = 0; […]

无法更改UIInputView高度

我有一个简单的UIInputViewController子类只有两个重写的方法。 我使用这个input视图控制器作为我的UIViewController子类成为第一响应者的inputAccessoryViewController 。 我尝试通过添加约束来指定inputView的高度,如Apple文档所build议的。 问题是我的约束不起作用,当我的约束被添加时,我得到autolayoutexception Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. … ( "<NSLayoutConstraint:0x178aa1d0 V:[UIInputView:0x178a4ae0(0)]>", "<NSLayoutConstraint:0x178b9520 V:[UIInputView:0x178a4ae0(500)]>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x178b9520 V:[UIInputView:0x178a4ae0(500)]> 我认为这意味着系统已经为input视图添加了零高度约束(因为它是以零高度创build的)。 现在他们冲突和自动布局打破了我的约束来解决这个问题。 当我尝试使用它作为我的视图控制器的inputViewController (仅用于testing目的),我得到相同的exception,而不是零高度是216像素。 它也打破了我的约束,高度保持默认。 – (void)viewDidLoad { [super viewDidLoad]; // Do any […]

AutoLayout和UILabel调整animation在设备旋转时无法正常工作

我有一个非常简单的任务奇怪的问题。 我需要一个非常小的设置来重现问题: |————————————–| | Parent View | | | ||————————————|| || UILabel || ||————————————|| | | | | ||————————————|| || UIView || ||————————————|| | | | | |————————————–| 在上面的例子中,我们有一个包含2个子视图的父视图 – > UILabel和一个简单的UIView。 我使用自动布局应用上面显示的布局: Constraints for UILabel: Leading Space to superview = 0 Trailing Space to superview = 0 Fixed Height constraint (eg 80pt) Top Space […]

使用“自动布局”,如何使同一“行”上的两个标签在宽度上dynamic变化(根据每个标签的宽度进行调整)?

假设我有两个UILabel,一个是URL,一个是定时器: [http://website.com/link/to/specific/story] [9m 42s] 但是“计时器”UILabel改变了很多宽度。 有时只有12s ,其他时间是125h 32m 8s 。 有很多变数。 我想要计时器UILabel占用尽可能多的宽度,因为它需要和URL标签占据了其余的 。 这意味着如果计时器较长,URL较短等 我如何在自动布局中做到这一点? 最好在Interface Builder中?