在集合视图单元格中,我有一个在
中创建的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路径不移动?
答案 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];
希望这有助于某人!