7

XCode と Objective-C は初めてで、iMessage アプリの下部のバーを再作成しようとしていますが、その方法がわかりません。WhatsApp Messengerなど、まったく同じレイアウトを使用している他のアプリを見たことがありますが、おそらくそれを行う簡単な方法があると思いました.

UIButton を送信ボタンのように見せることは不可能に思えますし、UITextField を入力フィールドのように見せることも同様に不可能に思えます。それは本当にすべて画像を使用して行われますか、それともそれを行うネイティブな (正しい) 方法はありますか? それがすべての画像である場合、どこでそれらを見つけることができますか、それとも自分で作成する必要がありますか?

また、ユーザーがテキストを入力している間にテキストフィールドを垂直に拡張するにはどうすればよいですか? この質問は、画像を使用して動的な幅のボタンを作成する方法には少なくとも答えているようですが、高さが可変のテキストフィールドを作成する方法には答えていません。

これは私が再作成しようとしているものです:

空のテキスト メッセージ フォーム ここに画像の説明を入力

4

2 に答える 2

8

それを行う簡単な方法はありません。トリッキーな部分は、要素の動作と正確な位置を模倣することです。私が開発したアプリのためにこれを高精度で行い、作成バーをスタンドアロン プロジェクトに抽出して、誰でも簡単に入手できるようにしました。PHFComposeBarViewと呼ばれます。外観は次のとおりです。

PHFComposeBarView

要約すると、これらが機能です。

  • メインボタン(右側のもの)のタイトルを変更できます
  • メインボタンの色合いを変更可能
  • プレースホルダーのタイトルは変更可能
  • プレースホルダーは、さらにカスタマイズするためのプロパティとして公開されます
  • テキスト ビューは、さらにカスタマイズするためのプロパティとして公開されます
  • ユーティリティ ボタン (左側のボタン) は、ユーティリティ ボタンの画像を設定することで表示できます (一辺の長さが最大 ​​32pt の透明な背景に白い画像が最適です)。
  • 最大文字数を指定する場合のオプションの文字カウンター (Messages.app で SMS を入力するのと同様。最大文字数制限は課されません)
  • 委任を使用してボタンの押下を通知します
  • テキストビューから委任メソッドを転送します
  • テキストが折り返して通知を投稿し、変更前後のフレーム変更に関するデリゲート メッセージを送信すると、自動的に成長します。これにより、フレームの変更に合わせて他のビューを調整し、ビューを調整できるようにデリゲート メソッドを送信できます。
  • デフォルトでは上向きに、または下向きに成長します
  • 成長の最大高さは、ポイントまたはライン番号で指定できます
于 2013-05-11T08:54:22.167 に答える
5

バーのクイック Google 検索。独自のボタン画像を作成し、タップすると変化するようにする必要があります。それはテキストフィールドではなくテキストビューであり、サイズを動的に変更する必要があります。その背後には、サイズも変更されるイメージビューがあります。私の提案は、グーグルをもっと使うことです。2秒のグーグル検索でこのようなものがたくさん見つかりました。バーに関しては、彼はリンクhttp://developer.apple.com/library/ios/#samplecode/KeyboardAccessory/Introduction/Intro.htmlです

于 2012-05-17T16:51:15.633 に答える