2016-01-26 29 views
4

我有一个表,有包含在其中UIViewcontentView的单元格,在它已经UITextView我是必要的cornerRadius顶部左侧,顶部右侧,从下面的左(上图)的UITextView CornerRadius细胞

As shall be

但在我的应用程序启动的情况下,所以在这里显示:

as is

如果要滚动表格(滚动该单元格)并返回消失,则会根据需要显示该表格。有助于使在直接启动的情况下,它是显示它是必要的,在这里负责它cellForRowAtIndexPath代码:

UIRectCorner rectCorner = UIRectCornerTopLeft | UIRectCornerBottomLeft | UIRectCornerTopRight; 

    UIBezierPath *maskPath; 
    maskPath = [UIBezierPath bezierPathWithRoundedRect:cell.viewMessage.bounds//cell.viewMessage.bounds 
            byRoundingCorners:rectCorner 
              cornerRadii:CGSizeMake(20.0, 20.0)]; 

    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; 

    maskLayer.path = maskPath.CGPath; 

    cell.viewMessage.layer.masksToBounds = YES; 

    cell.viewMessage.layer.mask = maskLayer; 
+0

如果你想在每一个细胞,然后把这个代码在自定义单元格类方法 -awakeFromNib –

+0

@bhargavbajani我做了,并没有帮助 – Northex

+0

请给所有的cellForRowAtIndexPath代码 –

回答

1

您的代码看起来不错,除了不使用内容视图,并添加一个单独的TextView代替。这是我的解决方案。

  • 创建一个新的UITableViewCell类并与.xib文件一起创建 (为了您的方便,您可以单独创建它)。
  • 将一个textView添加到xib文件中并创建一个IBOutlet。 (例如)viewMessage。
  • 添加thebelow代码在你使用的UITableView类,

    ​​

在additon上面,我想你的代码,它是工作完美... 调整圆角半径,根据您的需要。 希望它有帮助,并让我知道,如果您有任何疑问:) enter image description here

1

我想你的viewMessage类是一个自定义类。

添加创作maskLayer的这一类initWithCoder和/或initWithFrame记得更新maskLayer路径viewMessage类的layoutSubviews方法。

检查了这一点:Corner Radius Using UIBezierPath