草庐IT

intrinsicContentSize

全部标签

ios - UIStackView 自身的 intrinsicContentSize

我正在使用具有以下配置的UIStackView:letcontentView=UIStackView()contentView.distribution=.EqualSpacingcontentView.alignment=.CentercontentView.spacing=horizontalSpacing每个元素都有自己的intrinsicContentSize,因此UIStackView应该可以提供自己的intrinsicContentSize。文档指出spacing用作最小间距。例子:view1:width=10view2:width=15spacing=5[view1(10

swift - intrinsicContentSize() - 方法不会覆盖其父类(super class)中的任何方法

我更新到Xcode8beta5,现在在继承自UIView的类上出现以下错误:MethoddoesnotoverrideanymethodfromitssuperclassoverridepublicfuncintrinsicContentSize()->CGSize{...}有解决办法吗? 最佳答案 请查看thelatestreference.(您只需在Apple'sdevelopersite的搜索栏中输入“intrinsicContentSize”一词即可轻松找到它。)DeclarationvarintrinsicContentS

swift - intrinsicContentSize() - 方法不会覆盖其父类(super class)中的任何方法

我更新到Xcode8beta5,现在在继承自UIView的类上出现以下错误:MethoddoesnotoverrideanymethodfromitssuperclassoverridepublicfuncintrinsicContentSize()->CGSize{...}有解决办法吗? 最佳答案 请查看thelatestreference.(您只需在Apple'sdevelopersite的搜索栏中输入“intrinsicContentSize”一词即可轻松找到它。)DeclarationvarintrinsicContentS

iOS 8 UILabel intrinsicContentSize 打破布局约束

我有一个相当简单的自定义UITableViewCell子类,其中包含一个UISwitch、UIImageView和UILabel。所有这些都是单元格contentView的subview,并使用AutoLayout进行布局。所有subview都以Y为中心,然后我创建了一系列左右边缘约束以水平排列它们。UILabel是最右边的项目,应该缩放以适应UIImageView的右边缘到它的左边和它的父View的右边缘。当文本太长放不下时,它应该被截断。当我使用适用于iOS7.1的模拟器进行测试时,这按预期工作。但是,在iOS8.1上,当标签中的文本太长而无法容纳分配的空间时,标签会将UIImag

ios - UICollectionView 不调用 intrinsicContentSize

我有一个UICollectionViewController,它生成具有随机颜色的单元格以用于测试目的。现在UICollectionViewController已嵌入到UIScrollView中,我希望scrollView的大小与其contentSize的大小相同。我创建了UICollectionView的子类,实现了intrinsicContentSize方法,并将UICollectionView的类设置为我在IB中的自定义类。但是intrinsicContentSize永远不会被调用。我对UITableView进行了完全相同的设置,并且它可以完美地工作。对此有什么想法吗?-(CGS

ios - 基于 `intrinsicContentSize` 的自动布局纵横比(不恒定)

是否可以根据intrinsicContentSize动态计算宽高比来应用此类自动布局约束?在文档中,我发现只有固定比率值的约束。intrinsicContentSize的实际高度在我的用例中并不重要,我想保留动态变化的View的高度和宽度比例。我应该提供我自己的约束实现吗?或者有更好的方法吗? 最佳答案 intrinsicContentSize不可用作约束的输入。(从逻辑上讲,存在实现intrinsicContentSize和相关的内容拥抱和抗压缩优先级的约束,但这是不同的。)如果您想要这样的宽高比约束,则必须自己添加。在给定时刻查

iOS 容器 View 不支持 intrinsicContentSize

我想使用容器View来包含相机预览。我希望相机在中间居中并保持适当的纵横比。(它是粉红色的,可以很明显地看出它的框架在哪里)我停留在尝试让相机预览显示的尺寸小于容器的第一步。我有一个用于相机ControllerView的UIView子类,并且有代码:-(CGSize)intrinsicContentSize{returnCGSizeMake(320,240);}不幸的是,这没有兑现:通过阅读文档,intrinsicContentSize看起来就是我想要的。最终我也想使用自动布局,但我试图一次解决一件事。我如何使它工作? 最佳答案 自

ios - 具有使用 intrinsicContentSize 的动态高度的 UIView

我正在尝试创建一个自定义容器View,它有一个UIImageView和一个多行UILabel作为subview。为了使View与自动布局很好地配合使用,我重写了intrinsicContentSize,如下所示:-(CGSize)intrinsicContentSize{return[selfsizeThatFits:self.bounds.size];}sizeThatFits中计算出的size宽度相同,并调整高度使label和image不被裁剪。这很好用,但我很惊讶地在文档中看到以下评论:Thisintrinsicsizemustbeindependentofthecontentf

ios - intrinsicContentSize 与 sizeThatFits。有什么不同?每个的用例是什么?

我知道intrinisicContentSize是AutoLayoutAPI的一部分,但除此之外,我发现它与-sizeThatFits方法之间有很多功能重叠。在什么情况下应该使用一个而不是另一个?当我对UIView进行子类化时,我应该覆盖哪个以确保我的View的大小适合其subview?您能否举例说明两者的典型重写方法是什么样的? 最佳答案 intrinsicContentSize是在iOS6中添加的,正如您提到的那样,它是AutoLayoutAPI的一部分,因此支持早期iOS的任何内容都无法访问它。此外,如果您关闭自动布局,您使用

ios - 正确使用 intrinsicContentSize 和 sizeThatFits : on UIView Subclass with autolayout

我问这个(不知何故)简单的问题只是为了挑剔,因为有时我担心我可能会滥用许多UIView的API,尤其是在涉及自动布局时。为了让它变得super简单,我举个例子,假设我需要一个UIView子类,它有一个图像图标和一个多行标签;我想要的行为是我的View的高度随着标签的高度而变化(以适应里面的文本),另外,我正在使用界面生成器进行布局,所以我有这样的东西:具有一些约束,为ImageView提供固定的宽度和高度,并为标签提供固定的宽度和位置(相对于ImageView):现在,如果我为标签设置了一些文本,我希望调整View的高度以适合它,或者保持它在xib中的相同高度。在自动布局之前,我总是会