包含在UITextView中的UIBmageView周围的UIBeizierPath

时间:2014-05-29 15:21:58

标签: uiimageview uitextview uibezierpath

在集合视图单元格中,我有一个在

中创建的textview
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

我正在创建一个文本排除的bezier路径,如下所示

CGRect exclusionRect=CGRectMake(0,0, cell.coverImage.frame.size.width, cell.coverImage.frame.size.height);
UIBezierPath *exclusionPath=[UIBezierPath bezierPathWithRect:exclusionRect];
cell.issueInfo.textContainer.exclusionPaths=@[exclusionPath];

但是,当textview滚动时,bezier路径在textview中保持固定,因此我的文本会被图像掩盖。

如何在文本视图滚动时让bezier路径不移动?

1 个答案:

答案 0 :(得分:3)

我通过让我的自定义UICollectionViewCell子类采用UITextViewDelegate协议并将单元格设置为

中的委托来解决这个问题
-(void)awakeFromNib

由于UITextViewDelegate协议继承自我实施的UIScrollView协议

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

在这个方法中,我计算并应用bezierpath,如下所示

self.exclusionPath=[UIBezierPath bezierPathWithRect:[self.textView convertRect:self.imageView.bounds fromView:self.imageView]];
self.textView.textContainer.exclusionPaths=@[self.exclusionPath];

希望这有助于某人!