自定义单元格范围之外的披露指示器
Posted
技术标签:
【中文标题】自定义单元格范围之外的披露指示器【英文标题】:Disclosure indicator out of custom cell bounds 【发布时间】:2016-08-09 15:22:13 【问题描述】:我有一个启用了disclosure indicator
的自定义单元格。启用在cellForRowAtIndexPath:
方法中抛出代码:
cell.accessoryType = .DisclosureIndicator
为了在单元格之间营造一种空间错觉,我在单元格内创建了一个UIImageView
。
我原以为会在新牢房内进行披露,但事实并非如此。
我的布局设置:
以及它的外观:
谁能建议我在这里做错了什么?
【问题讨论】:
单元格内容与附件视图不同。 Take a closer look at cell. 【参考方案1】:我原以为会在新牢房内进行披露,但事实并非如此。
它在单元格内,但在您看来它在外面,因为它在图像视图之外。
我们需要在披露指示器下方扩展图像视图。 我做了一个简单的技巧,将前导空格约束为负值:
(以上是绿色视图的约束,在您的情况下为图像!)
我还添加了来自.xib
的披露指示符,而不是代码:
在.xib
中它会显示如上图,但是当我们运行时它可以工作:
我没有添加图像,而是添加了绿色的UIView
,这只是为了更快地实现。
你可以对UIImageView
做同样的事情。
【讨论】:
酷!工作完美!你能解释一下为什么它是负 33 ...不是 30 也不是 40 :) 请 @Almazini 自动布局的建议值! 无法在 Xcode 11.1 中执行此操作。内容视图内的视图显示现在仅限于内容视图,即使有负约束。【参考方案2】:您已在单元格的 contentView 中添加了此背景 - 您可以在 IB 左侧的概览中看到。
尝试以编程方式设置背景,即
cell.backgroundView = yourCustomView
【讨论】:
这也可以,但是它需要大量的编程来为yourCustomView
添加约束!以上是关于自定义单元格范围之外的披露指示器的主要内容,如果未能解决你的问题,请参考以下文章