0

タブバーアプリを持っています。5つのタブがあります。テーブルビューコントローラーに接続されているナビゲーションコントローラーに接続されている3番目のタブがあります。簡単ですね。

さて、私は最近、タブバー制御アプリの各タブに左右にナビゲートするオプションの方法として、左/右スワイプジェスチャを実装することにしました。ジェスチャはうまく機能しますが、3番目のタブ(が付いているタブ)にジェスチャを実装する方法がないUITableViewため、実装ファイルが関連付けられていません。

そして、それが私の質問です。3番目のタブにジェスチャーを実装して、スワイプしてそこから離れることができるようにするにはどうすればよいですか?そのタブにスワイプすることはできますが、タブから外すことはできませ。私はiOS開発にかなり慣れていないので、助けてくれて本当に感謝しています!

(ARC、ストーリーボード、およびXcode 4.5.2を使用)

編集: これが私のテーブルビューコントローラーが私のタブバーコントローラーにどのように接続されているかのスクリーンショットです: ここに画像の説明を入力してください

解決策: 正解とマークされた答えは確かに正しいです。UITableViewControllerのサブクラスを作成する方法を説明しました。しかし、TableViewをプログラムで実装する方法も考えていました...少し検索した後、このリンクはその方法をほぼ正確に示しています:RuchiRavalのmobisoftinfotechへの投稿。ただし、リンクの手順を実行するだけで、リンクの手順を使用して新しいUITableViewControllerを作成し、ストーリーボード(Ctrl +ドラッグ)を使用してNavigationControllerに接続したため、元のUITableViewControllerを削除することになりました。

これが私の同じ質問をした人に役立つことを願っています!

4

1 に答える 1

0

VC でジェスチャを制御するには、独自のサブクラスが必要です。MyTableViewController のような名前の新しい Objective-C オブジェクトを作成します。Xcode では、ファイルの作成時にスーパークラスを指定できます。UITableViewController を使用します。

Xcode は、新しいファイルにいくつかのテンプレート コードを提供します。最初はそのままにしておきます。ストーリーボードでは、修正しようとしているタブには、ルート vc が UITableViewController であるナビゲーション (vc) があると思います。

そのテーブル vc を選択し、Identity インスペクタ (右上、左から 3 番目のタブ) を選択します。カスタム クラスというセクションが表示されます。現在のクラスはおそらく UITableViewController です。これを MyTableViewController に変更するか、新しいクラスに名前を付けたものに変更します。

ビルドして実行します。これで、そのテーブル vc を制御できます。実装ファイルに戻り、viewDidLoad: にジェスチャ コードを追加できます。

于 2013-01-09T21:23:10.133 に答える