TWTRTweetView
はユーザーに一つのツイートを表示します。背景のタップや、ユーザーに表示されるその他の操作を処理します。
[[[Twitter sharedInstance] APIClient] loadTweetWithID:@"20" completion:^(TWTRTweet *tweet, NSError *error) { if (tweet) { TWTRTweetView *tweetView = [[TWTRTweetView alloc] initWithTweet:tweet]; [self.view addSubview:tweetView]; } else { NSLog(@"Error loading Tweet: %@", [error localizedDescription]); } }];
継承元 | UIView |
Conforms to | UIAppearanceContainer |
宣言場所 | TWTRTweetView.h |
TWTRTweetViewDelegate
が通知されます:
UITableView
上での使用を許可するには、configureWithTweet:
メソッドを使えばインスタンスを新規作成しなくても既存TWTRTweetView への設定ができるようになります。
allows configuration of an existing TWTRTweetView without having to create a new instance.
自動配置(Auto Layout)を使用すれば、ツイートビューの横幅や余白は自由に設定できるように感じます。高さは自動的に計算されます。 古いタイプのフレームを基にしたレイアウト用に、標準的なsizeThatFits:メソッドを使って指定された横幅に合った適切な高さを計算できます:
// Find the height for a given width (20pts on either side) CGFloat desiredHeight = [tweetView sizeThatFits:CGSizeMake(self.view.frame.size.width - 40, CGFLOAT_MAX)].height;
You may use UIAppearance のプロキシオブジェクトを使って、ツイートビューが親ビューに追加される前に特定の部位のスタイルを設定することができます。
// UIAppearance プロキシを使用する [TWTRTweetView appearance].theme = TWTRTweetViewThemeDark; // 色を直接設定する [TWTRTweetView appearance].primaryTextColor = [UIColor yellowColor]; [TWTRTweetView appearance].backgroundColor = [UIColor blueColor];
注意:既にビューが親ビューに追加された後では、appearance プロキシを通じてtheme
を変更することはできません。 直接theme
プロパティにアクセスして変更します。
backgroundColor
プロパティ
primaryTextColor
プロパティ
linkTextColor
プロパティ
showBorder
プロパティ
theme
プロパティ
style
プロパティ
delegate
プロパティ
– initWithTweet:
– initWithTweet:style:
– initWithFrame:
– sizeThatFits:
– configureWithTweet:
ツイートビューと全てのテキストラベル(フルネーム、ユーザーネーム、ツイート文、タイムスタンプ)の背景色。
@property (nonatomic, strong) UIColor *backgroundColor
ツイートの詳細が記載されたwebview の表示を許可する、オプションのデリゲート。
@property (nonatomic, weak) IBOutlet id<TWTRTweetViewDelegate> delegate
ツイート文内のリンクの色。
@property (nonatomic, strong) UIColor *linkTextColor
ツイート文とフルネームの色。
@property (nonatomic, strong) UIColor *primaryTextColor
境目を表示するかどうか設定する。
@property (nonatomic, assign) BOOL showBorder
ツイートのスタイル。すなわち TWTRTweetViewStyleRegular
や TWTRTweetViewStyleCompact
。
@property (nonatomic, assign, readonly) TWTRTweetViewStyle style
ツイートビューのテーマを設定すると、それに合わせてカラープロパティも変更されます。
@property (nonatomic, assign) TWTRTweetViewTheme theme
既定ではTWTRTweetViewThemeLight
が設定されます。
宣言場所 TWTRTweetView.h
全ての画像とラベル文を更新し、指定したツイートへ完全に反映させます。
- (void)configureWithTweet:(TWTRTweet *)tweet
tweet
表示するツイート。
frame パラメータを渡して初期化する方法はサポートされていません。
- (instancetype)initWithFrame:(CGRect)frame
コンパクトスタイルのツイートビューを設定する便利なイニシャライザ。
- (instancetype)initWithTweet:(TWTRTweet *)tweet
tweet
表示するツイート。
設定が完了したツイートビュー。
Designated イニシャライザ。ツイートとスタイル を両方設定してビューを初期化する。
- (instancetype)initWithTweet:(TWTRTweet *)tweet style:(TWTRTweetViewStyle)style
tweet
表示するツイート。
style
ツイートビューのスタイル。一般タイプ(regular)もしくは コンパクトタイプ(compact)。
設定が完了したツイートビュー。
指定したスペースに収まるサイズを探す。これはUIViewのシステムメソッドで、TWTRTweetView
にも実装されています。
- (CGSize)sizeThatFits:(CGSize)size
size
使用可能なスペース。一般的には、画面を縦横いずれかの向きにした場合でも、横幅の最小値が200ptsまでのスペースでなければいけません。
指定したスペースに収まるサイズ。
TWTRTweetView *tweetView = [[TWTRTweetView alloc] initWithTweet:tweet]; // 横幅を 280 points にする CGSize desiredSize = [tweetView sizeThatFits:CGSizeMake(280, CGFLOAT_MAX)]; tweetView.frame = CGRectMake(PADDING_X, PADDING_Y, 280, desiredSize.height); [self.view addSubview:tweetView];