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