绘制超出 UIView 的界限
Posted
技术标签:
【中文标题】绘制超出 UIView 的界限【英文标题】:Drawing beyond a UIView's bounds 【发布时间】:2014-07-07 15:45:21 【问题描述】:我正在尝试使用核心图形在它的 drawRect 方法中围绕 UIView 绘制一个复杂的边框。边框被剪裁,因为它超出了视图的边界。有什么办法可以防止这种剪裁吗?将 clipsToBounds 设置为 NO 不起作用。
【问题讨论】:
@MichaelDeluca,自动布局和CoreGraphics
之间的联系到底是什么?上下文具有特定的大小,并且无法在上下文的边界上绘制。
【参考方案1】:
drawRect:
给你一个CGRect
。这定义了您可以绘制的区域。就目前而言,您不能在此区域之外绘图。
您必须寻找不同的解决方案来解决您的问题。我建议CALayer
s,或子视图/超级视图层次结构,也许是边框视图和内容视图。但是不要尝试在drawRect:
中这样做,除非您可以在保持在drawRect:
指定的区域内获得所需的结果。
【讨论】:
以上是关于绘制超出 UIView 的界限的主要内容,如果未能解决你的问题,请参考以下文章
检测 CGAffineTransformed 视图是不是超出屏幕/UIView 的范围
带有长文本 UILabel 的 UIView 无法显示超出屏幕高度的文本