我在视图控制器的中间有我的UIView,我正在设置排除路径如下
-(void) viewDidLayoutSubviews
{
UIBezierPath *exludedPath = [UIBezierPath bezierPathWithRect:aRect];
self.textView.textContainer.exclusionPaths = @[excludedPath];
}
这里aRect与UITextView具有相同的x和y以及合理的高度和宽度
当我的UITextView位于视图控制器的顶部但当它位于视图控制器中间的某个位置时,此代码可以正常工作。
是viewController的生命周期问题吗?或视图控制器的一些属性导致这个?
答案 0 :(得分:0)
仔细检查你的exclusionPath的rect,并确保它真的包含在textViewContainer.size中;我遇到了类似的错误,最后我通过检查修复了它。
答案 1 :(得分:0)
对于任何看这个问题的人,我都有同样的问题,并发现rect是不正确的。假设图像视图的rect为(20、30、50、50),文本视图的rect为(20、30、300、400)。贝塞尔曲线路径的rect应该是(0,0,50,50),而不是(20,30,50,50)。也就是说,通过边界而不是实际帧。