1

対応する UINavigationControllers を持つ 10 個を超える viewControllers を持つ UITabBarController に基づくアプリを作成しています。各 viewContoller には、(短い) Title と (長い) navigationTitle があります。短いタイトルは TabBar アイコンの下に表示され、長いタイトルはナビゲーション バーの上に表示されます。

UITabBarController は最初の 4 つのタブを表示し、残りのタブのリストを表示する「その他」タブを自動的に追加します。このリストには、各ビュー コントローラーの (短い) タイトルが表示されます。代わりに (長い) navigationTitle を表示するように指示するにはどうすればよいですか?

4

2 に答える 2

3

私は最近、アプリケーションに対してこれを行いましたが、それを行う最善の方法は、more テーブルのタイトルを長い名前に変更するカスタム データ ソースを作成することであることがわかりました。名前を何度も変更する必要があるため (タブ バーの読み込みで 1 回、ビューの読み込みで 1 回、カスタマイズされたセクションの読み込みで 1 回、カスタマイズされたセクションの閉じで 2 回)、他の方法で変更するのは実際的ではありません。

ここで基本的な手順を見つけて、タイトルを変更するだけでした。plist を使用して、各セクションの短い名前と長い名前をすべて保持します。

cellForRowAtIndexPath の私のコード:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [originalDataSource tableView:tableView cellForRowAtIndexPath:indexPath];
    cell.textLabel.text = [[sections objectAtIndex:indexPath.row+4] objectForKey:@"LongName"];
    return cell;
}
于 2009-08-18T21:52:31.100 に答える
0

すべてのタブをデフォルトで(長い)タイトルにしてから、プログラムで表示されているタブを(短い)名前に変更してみてください。プログラムで変更する方法がわからない場合はお知らせください。それは実際にはあなたが最初に望んでいたことをする方法かもしれません。プロンプトについて詳しく説明します。

于 2009-07-23T16:56:42.537 に答える