Ich bin neu in iOS. Ich mache eine Chat-Anwendung. Ich benutze UITableView
für die Anzeige der Nachricht Chat (eine Zelle - eine Nachricht).
In jeder Zelle wird die Nachricht I in 2,3 oder 4 Ecke (wie Face Chat)Allrounder von UIBezierPath Problem beim Scrollen
Für rundere runder I die UIBezierPath
innen layoutSubView
jedes 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;
verwenden Das Problem ist, wenn Layout zuerst initial, alles funktioniert gut, aber wenn ich einige Zellen scrollen haben falsche Rundung (ich finde das Problem ist manchmal, wenn scroll self.messageView.bounds
r falscher Wert UIBezierPath
falsche Ecke) aber ich weiß nicht, warum
Wie kann ich verhindern, dass es passiert ist? Oder Kann ich eine anderen Weg Blick auf runde ohne UIBezierPath
(I google finde ich aber nur eine Möglichkeit, die UIView runden verwendet UIBezierPath
:()?
Jede Hilfe
diesen Code versuchen [v.layer setCornerRadius: 30.0f];. // Grenze [v.layer setBorderColor: [UIColor lightGrayColor ] .CGColor]; [v.layer setBorderWidth: 1.5f]; // Schlagschatten [v.Layer setShadowColor: [UIColor blackColor] .CGColor]; [v.Layer setShadowOpacity: 0.8]; [v.Layer setShadowRadius: 3.0]; [v.Layer setShadowOffset: CGSizeMake (2.0, 2.0)]; – iOS
@DarjiJigar meine Anforderung ist "runder die Nachricht in 2,3 oder 4 Ecke", machen Sie Ihren Code nur Allrounder in 4 Ecken –
überprüfen Sie dies http://stackoverflow.com/questions/4847163/round-two-corners-in -uiview, ABER ich schätze (und du sagst es), dass das Problem nicht beim Zeichnen, sondern bei der richtigen Begrenzung liegt, also würde ich mich auf fixit konzentrieren, aber nicht den Bézier-Pfad zu umgehen – Injectios