1. ホーム
  2. iphone

[解決済み] UITableViewのセクションタイトルをプログラムで設定する方法 (iPhone/iPad)

2022-10-24 04:02:51

質問

私は UITableView を使って Interface Builder で storyboards . そのため UITableView で設定されている static cells と、さまざまなセクションがあります。

私が抱えている問題は、アプリを複数の異なる言語で設定しようとしていることです。これを実現するために、私は UITableView セクションのタイトルを何らかの方法で変更できるようにする必要があります。

どなたか助けていただけませんか?理想的には、この問題に IBOutlets を使ってアプローチしたいのですが、この場合、それは不可能だと思われます。どんなアドバイスや提案でも、本当にありがたいです。

ありがとうございました。

どのように解決するのですか?

UITableViewを接続したら delegatedatasource をコントローラに追加すると、次のようなことができます。

ObjC

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

    NSString *sectionName;
    switch (section) {
        case 0:
            sectionName = NSLocalizedString(@"mySectionName", @"mySectionName");
            break;
        case 1:
            sectionName = NSLocalizedString(@"myOtherSectionName", @"myOtherSectionName");
            break;
        // ...
        default:
            sectionName = @"";
            break;
    }    
    return sectionName;
}


スウィフト

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

    let sectionName: String
    switch section {
        case 0:
            sectionName = NSLocalizedString("mySectionName", comment: "mySectionName")
        case 1:
            sectionName = NSLocalizedString("myOtherSectionName", comment: "myOtherSectionName")
        // ...
        default:
            sectionName = ""
    }
    return sectionName
}