ios试图让文本剪辑超出uitableview单元格的范围

Posted

技术标签:

【中文标题】ios试图让文本剪辑超出uitableview单元格的范围【英文标题】:ios trying to get text to clip out of bounds of a uitableview cell 【发布时间】:2014-01-30 19:34:13 【问题描述】:

我正在尝试构建一个用作文件选择器的 uiview。选择器可以通过单击您在下图中看到的把手栏来切换打开和关闭。我为此构建了一个自定义选择器视图。我在视图上将 clipsToBounds 设置为 NO,这允许我将句柄稍微放在视图边界之外。这样,当用户关闭选择器时,它就像屏幕左侧的手柄一样伸出。点击手柄,拾取器滑入和滑出。图像显示选择器打开。

您会注意到覆盖在文件图像顶部的黑色文件名称,稍微向左偏移。我希望这些名称浮动到选择器之外,几乎就像它们部分覆盖在白色背景和我的选择器视图上一样。

我将此文本作为单元格的子视图。该单元格包含文件图像以及黑色文本。这些单元格是 uitableview 的一部分,它是我的自定义选择器视图的子视图。视图层次结构:

PickerView -> UITableView (scroller) -> UITableViewCell -> UILabel (NSMutableString)

我在 PickerView 上设置了 clipsToBounds = NO。我尝试在 uitableview、单元格甚至文本标签 (UILabel) 上设置 clipsToBounds,但没有成功。

提前致谢。

【问题讨论】:

【参考方案1】:

这里真正的问题是你正在与框架作斗争。表格/单元格层次结构中的视图比您想象的要多得多。如果其中任何一个剪辑到边界,就是这样,你就被卡住了。

与其试图让文本出现在您的视图之外,并与边界和剪辑作斗争,不如从更宽且大部分清晰的 PickerView 开始。这样一来,它的边界就会更大,向左延伸得更远。

事实上,在 ios 7 中,它没有理由不应该是 UIViewController 的视图,并用这个最清晰的视图覆盖整个屏幕(使用新的自定义过渡动画 API)。

【讨论】:

马特,感谢您的回复。假设我将我的父 PickerView 扩展到左侧。您是否建议我将文本标签添加为单元格的子视图或更高级别的内容?我将它添加为单元格的子视图,因此如果有人滚动 tableiview,文本标签将保持对齐并随之滚动。 是的,我没有尝试过,但我建议单元格和表格视图应该有清晰的背景并进一步向左延伸(如果您使用呈现的视图,甚至可能覆盖整个屏幕在 iOS 7 中带有自定义过渡动画)。如果由于某种原因不起作用,请告诉我...

以上是关于ios试图让文本剪辑超出uitableview单元格的范围的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止 UITableView 在 iOS 7 中剪辑 UITableViewCell 内容

UITableView:停止自动滚动超出所选位置

删除 UITableView 中的最后一个单元格时索引超出范围

到达屏幕结束时在 UITableView 自定义单元格中包装文本(Swift)

当 UITextView 的文本超出 1 行时展开 UITextView 和 UITableView

动画时 UITableView 剪辑到边界