1

iPhone の SMS アプリを使用したことがある人なら、作成ビューの特別なアニメーションがあります。

最初に作成を押すと、モーダル ビュー コントロールが表示されます。ただし、送信を押すとすぐに、チャット ビュー コントローラーに移行します。ただし、いくつかの奇妙な動作があります。

1) キーボードはそのままです。通常、新しいコントローラーをポップして押すと、キーボードの位置が失われます。

2) 実際のビューが変更されなかったため、新しいコントローラーのポップ/プッシュがなかったことを示すさらなる証拠。送信を押すとすぐに、メッセージがバブル ビューに「スライド」します。

3) しかし、実際にコントローラーのポッピング/プッシュがない場合、ナビゲーションバーのボタンをどのように変更しますか? 左上のボタンも、四角い「キャンセル」ボタンから矢印のような戻るボタンに変わりました。

この経験をどのように実装するかについてのアイデアはありますか?

4

2 に答える 2

0

ビュー コントローラーのナビゲーション バーの特性を変更できます。また、viewController.view を直接変更して、画面の外観を変更することもできます。この例では、ユーザーが送信を押したときに、次のコードを使用してナビゲーション バーを変更できます。

UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:[NSString stringWithFormat:@"Messages:(%i)", messageCount] style:UIBarButtonStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = back;
[back release];
UIBarButtonItem *edit = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:plain target:self action:@selector(editMessage)];
self.navigationItem.rightBarButtonItem = edit;
[edit release]

そして、editMessage を実装します。

- (void)editMessage {
  //Go into edit mode, whatever that code looks like.
}

次に、送信を押した後、[self.textField rejectFirstResponder] の呼び出しに失敗するだけなので、キーボードはそこにとどまります。古い会話を読み込むと、画面の下部に送信ボックスが表示され、キーボードが表示されないビューが読み込まれることに気付くでしょう。これは、UITextField オブジェクトの標準的な動作と一致しています。

ビューを直接ハッキングする方法は、UIView のヘルプ ファイルで説明されていますが、これは面倒な作業です。正直なところ、彼らがそのきれいな IM インターフェースをどのように描いているのかはわかりません。それは別の専門家に任せます。

于 2009-06-19T21:24:10.233 に答える