私はiOSの新機能です。私はチャットアプリケーションを作っています。下の画像はテーブルメッセージです。各セルでは、私はmessageView
のための4つのコーナーを設定し、それは私がいくつかの私のメッセージはわずか3つのコーナーを持って欲しい、今すぐ正しいフレキシブルビューのUIBezierPathによるコーナー(コンテンツの幅の高さを表示できるビュー)
self.messageView.layer.cornerRadius = 10.0;
を表示(左上、左下、右下)いくつかのメッセージは、facebookメッセンジャーのような3つのコーナー(左下、右下、右上)を持っています。
ですので、各セルにはUIBezierPath
というユーザーがいます。
しかし、私のメッセージは完全な内容を表示しません。 しかし、上下にスクロールすると、セルが再作成され、正しく表示されます。 私はself.messageView
ためUIBezierPath
によってコナーズを設定すると、self.messageView
はまだドローを終了していない:
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.messageView.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10.0, 10.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;
self.messageView.layer.mask = maskLayer;
私は私の問題だと思います。だからself.messageView.bounds
は間違った値を返します。
しかし、私はそれを修正する方法がわかりません。
ご協力いただければ幸いです。
'sizeToFit'を試しましたか? – schmidt9
@ schmidt9 'sizeToFit'をどこに置くべきか教えてください。 –
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//apple_ref/occ/instm/UIView/sizeToFit – schmidt9