サイトのトップへ戻る

Twitter 開発者 ドキュメント日本語訳

サイト内検索

TWTRTweetView クラス

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上での使用

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;


UIAppearance

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:



プロパティ

backgroundColor

ツイートビューと全てのテキストラベル(フルネーム、ユーザーネーム、ツイート文、タイムスタンプ)の背景色。

@property (nonatomic, strong) UIColor *backgroundColor

delegate

ツイートの詳細が記載されたwebview の表示を許可する、オプションのデリゲート。

@property (nonatomic, weak) IBOutlet id<TWTRTweetViewDelegate> delegate

linkTextColor

ツイート文内のリンクの色。

@property (nonatomic, strong) UIColor *linkTextColor

primaryTextColor

ツイート文とフルネームの色。

@property (nonatomic, strong) UIColor *primaryTextColor

showBorder

境目を表示するかどうか設定する。

@property (nonatomic, assign) BOOL showBorder

style

ツイートのスタイル。すなわち TWTRTweetViewStyleRegularTWTRTweetViewStyleCompact

@property (nonatomic, assign, readonly) TWTRTweetViewStyle style

theme

ツイートビューのテーマを設定すると、それに合わせてカラープロパティも変更されます。

@property (nonatomic, assign) TWTRTweetViewTheme theme
Discussion

既定ではTWTRTweetViewThemeLightが設定されます。

宣言場所 TWTRTweetView.h



インスタンスメソッド

configureWithTweet:

全ての画像とラベル文を更新し、指定したツイートへ完全に反映させます。

- (void)configureWithTweet:(TWTRTweet *)tweet
パラメータ

tweet

表示するツイート。

initWithFrame:

frame パラメータを渡して初期化する方法はサポートされていません。

- (instancetype)initWithFrame:(CGRect)frame

initWithTweet:

コンパクトスタイルのツイートビューを設定する便利なイニシャライザ。

- (instancetype)initWithTweet:(TWTRTweet *)tweet
パラメータ

tweet

表示するツイート。
戻り値

設定が完了したツイートビュー。

initWithTweet:style:

Designated イニシャライザ。ツイートとスタイル を両方設定してビューを初期化する。

- (instancetype)initWithTweet:(TWTRTweet *)tweet style:(TWTRTweetViewStyle)style
パラメータ

tweet

表示するツイート。

style

ツイートビューのスタイル。一般タイプ(regular)もしくは コンパクトタイプ(compact)。
戻り値

設定が完了したツイートビュー。

sizeThatFits:

指定したスペースに収まるサイズを探す。これはUIViewのシステムメソッドで、TWTRTweetViewにも実装されています。

- (CGSize)sizeThatFits:(CGSize)size
パラメータ

size

使用可能なスペース。一般的には、画面を縦横いずれかの向きにした場合でも、横幅の最小値が200ptsまでのスペースでなければいけません。
戻り値

指定したスペースに収まるサイズ。

Discussion
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];