UITextView textContainer排除路径在视图控制器的中间时不起作用

时间:2014-08-22 16:49:39

标签: ios ios7 uitextview uibezierpath

我在视图控制器的中间有我的UIView,我正在设置排除路径如下

    -(void) viewDidLayoutSubviews
    {
      UIBezierPath *exludedPath = [UIBezierPath bezierPathWithRect:aRect];
      self.textView.textContainer.exclusionPaths = @[excludedPath];
    }

这里aRect与UITextView具有相同的x和y以及合理的高度和宽度

当我的UITextView位于视图控制器的顶部但当它位于视图控制器中间的某个位置时,此代码可以正常工作。

是viewController的生命周期问题吗?或视图控制器的一些属性导致这个?

2 个答案:

答案 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)。也就是说,通过边界而不是实际帧。