我是iOS新手。我正在做一个聊天应用程序。我正在使用select
来显示消息聊天(一个单元格 - 一条消息)
在每个单元格中,我将在2,3或4角(如Facebook聊天)
对于更圆的我使用UITableView
内UIBezierPath
layoutSubView
Tableview Cell
问题是,当布局第一次初始化时,一切正常,但是当我滚动一些单元格时出现错误的圆形(我发现问题是滚动UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.messageView.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft) cornerRadii:CGSizeMake(3.0, 3.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;
self.messageView.layer.mask = maskLayer;
返回错误值的某个时候所以self.messageView.bounds
画错了角落但我不知道为什么
我怎样才能防止它发生?
或者我可以用另一种方式在没有UIBezierPath
的情况下观看视图(我谷歌,但我只找到一种方法来使用UIView使用UIBezierPath
:()?
任何帮助将不胜感激
答案 0 :(得分:2)
我遇到了类似的问题并通过在tableView:willDisplayCell:forRowAtIndexPath
内移动我的转角代码来修复它。这将允许Cocoa正确调整大小。
答案 1 :(得分:0)
我有一个类似的问题,可以通过在layoutSubviews()中移动代码来解决它
<BarcodeReader
onError={handleError}
onScan={handleScan}
/>