草庐IT

AutoLayout

全部标签

ios - 流布局不支持负尺寸或零尺寸

我有一个相当复杂的collectionView单元格,我注意到如果我在collectionView上滚动得非常快,它会使应用程序崩溃。我得到的错误之一是:negativeorzerosizesarenotsupportedintheflowlayout我注意到我是否只返回一个浮点值,例如500,在我的UICollectionViewsizeForItemAtIndexPath:方法中,它没有崩溃。我的CollectionView具有动态单元格高度。我正在使用此库在我的sizeForItemAtIndexPath:方法中解析HTML属性字符串:https://github.com/mmi

ios - 使用平移手势平滑地动画约束变化

HowtoanimateconstraintchangesmoothlywithpangestureiniOS?我正在尝试开发一个屏幕,其中一个View位于屏幕底部。我在该View中添加了平移手势。在拖动该View时,我想更改该View的顶部约束。平移手势只允许在垂直和向下方向。我为拖动View添加了一些限制。它工作但不顺利。如何使用平移手势平滑地动画约束变化?这是我的代码。-(void)handleGesture:(UIPanGestureRecognizer*)sender{CGPointvelocity=[sendervelocityInView:_locationContain

ios - 使用平移手势平滑地动画约束变化

HowtoanimateconstraintchangesmoothlywithpangestureiniOS?我正在尝试开发一个屏幕,其中一个View位于屏幕底部。我在该View中添加了平移手势。在拖动该View时,我想更改该View的顶部约束。平移手势只允许在垂直和向下方向。我为拖动View添加了一些限制。它工作但不顺利。如何使用平移手势平滑地动画约束变化?这是我的代码。-(void)handleGesture:(UIPanGestureRecognizer*)sender{CGPointvelocity=[sendervelocityInView:_locationContain

ios - 为依赖于已解决内部布局的尺寸正确实现 intrinsicContentSize

我有一个似乎有效的解决方案,但我想确保它是安全的并按预期使用该工具。我可以将我的问题归结为这种情况——我有一个包含多个垂直堆叠的UILabel的UIView。每个标签都可以填充任意文本,这些文本可以垂直包装和扩展标签。在View中堆叠标签的自动布局约束是微不足道的。我想要做的是让UIView通过intrinsicContentSize将其首选高度(View的高度应适合所有标签)传达给它的所有者。但是,在返回适当的高度之前,需要解决内部布局问题。我的理解是从[superlayoutSubviews]返回后保证求解器完成,这就是我在做的:-(void)layoutSubviews{[sup

ios - 为依赖于已解决内部布局的尺寸正确实现 intrinsicContentSize

我有一个似乎有效的解决方案,但我想确保它是安全的并按预期使用该工具。我可以将我的问题归结为这种情况——我有一个包含多个垂直堆叠的UILabel的UIView。每个标签都可以填充任意文本,这些文本可以垂直包装和扩展标签。在View中堆叠标签的自动布局约束是微不足道的。我想要做的是让UIView通过intrinsicContentSize将其首选高度(View的高度应适合所有标签)传达给它的所有者。但是,在返回适当的高度之前,需要解决内部布局问题。我的理解是从[superlayoutSubviews]返回后保证求解器完成,这就是我在做的:-(void)layoutSubviews{[sup

ios - 如何以编程方式将标签的 preferredMaxLayoutWidth 设置为自动?

当我尝试在Storyboard中将标签的首选宽度设置为自动时出现以下错误:AttributeUnavailable:AutomaticPreferredMaxLayoutWidthisnotavailableoniOSversionspriorto8.0因为我需要我的布局在iOS7和8上工作,所以我计划执行以下操作:在Storyboard中将值设置为Explicit。在iOS7上,以编程方式将该值设置为明确的计算宽度。在iOS8上,以编程方式将该值设置为自动。1和2很简单。我该怎么做第3步?我可以将其设置为常量吗?这是我到目前为止尝试过的...如果您在Storyboard上将该值设置为

ios - 如何以编程方式将标签的 preferredMaxLayoutWidth 设置为自动?

当我尝试在Storyboard中将标签的首选宽度设置为自动时出现以下错误:AttributeUnavailable:AutomaticPreferredMaxLayoutWidthisnotavailableoniOSversionspriorto8.0因为我需要我的布局在iOS7和8上工作,所以我计划执行以下操作:在Storyboard中将值设置为Explicit。在iOS7上,以编程方式将该值设置为明确的计算宽度。在iOS8上,以编程方式将该值设置为自动。1和2很简单。我该怎么做第3步?我可以将其设置为常量吗?这是我到目前为止尝试过的...如果您在Storyboard上将该值设置为

ios - 选择退出单个 View 的自动布局?

我有一个View在代码中执行其subview的布局。布局对于自动布局来说太复杂了,自动布局破坏了布局代码。有什么方法可以强制自动布局单独保留此View的subview吗?我试过重写layoutSubviews,但没有成功。感谢您的帮助。 最佳答案 每个Storyboard或XIB启用或禁用自动布局。如果您的View在它自己的XIB中,那么您可以禁用该XIB的自动布局。如果您的XIB中还有其他依赖自动布局的View,您将不得不寻找不同的解决方案。 关于ios-选择退出单个View的自动布局

ios - 选择退出单个 View 的自动布局?

我有一个View在代码中执行其subview的布局。布局对于自动布局来说太复杂了,自动布局破坏了布局代码。有什么方法可以强制自动布局单独保留此View的subview吗?我试过重写layoutSubviews,但没有成功。感谢您的帮助。 最佳答案 每个Storyboard或XIB启用或禁用自动布局。如果您的View在它自己的XIB中,那么您可以禁用该XIB的自动布局。如果您的XIB中还有其他依赖自动布局的View,您将不得不寻找不同的解决方案。 关于ios-选择退出单个View的自动布局

ios - 以编程方式使用大小类

我(希望)观看了所有相关的WWDC2014session视频并阅读了文档,所以这个问题主要是为了证实我的怀疑,但请教育我。我想做的是使用自动布局动画View。这本身不是问题。但是这些动画的端点随着不同的方向而变化。我想我可以使用大小类在旋转时自动移动View,但Apple的开发人员指南说动画必须以编程方式完成,据我所知,大小类是Interface-Builder-only的东西。我的另一个想法是使用自定义布局指南,例如IB提供的顶部/底部指南,但它们似乎是硬编码的。我能做的最后一件事是在监听旋转事件后手动更新约束,但这并不是什么新鲜事,而且我觉得大小类应该不仅仅可用于静态接口(inte