Я новичок в iOS. Я делаю чат-приложение. Я использую UITableView
для отображения чата сообщений (одна ячейка - одно сообщение).
В каждой ячейке я буду объединять сообщение в 2,3 или 4-х углах (например, в чате Facebook)
Для круглого я использую 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
нарисуйте неправильный угол), но я не знаю, почему
Как я могу предотвратить это?
Или Могу ли я иметь другой способ объединить View без UIBezierPath
(я google, но я нашел только один способ объединить UIView с помощью UIBezierPath
:()?
Любая помощь будет оценена