Установите значение для дочерней панели

Используя inAppSettingsKit, я пытаюсь отобразить значение элемента дочерней панели в сводной таблице tableCell.

TableCell правильно отображает заголовок, но не значение:/

Вот фрагмент моего файла Root.plist:

<dict>
    <key>IASKViewControllerClass</key>
    <string>SetupBirthViewController</string>
    <key>IASKViewControllerSelector</key>
    <string>init</string>
    <key>Key</key>
    <string>settings_birthYear</string>
    <key>Title</key>
    <string>Né(e) en</string>
    <key>Type</key>
    <string>PSChildPaneSpecifier</string>
</dict>

И мой файл [NSUserDefaults standardUserDefaults] выглядит так:

<dict>
    <key>settings_birthYear</key>
    <string>2009</string>
    <key>enable_preference</key>
    <true/>
</dict>

Я также отображаю ячейку Multi Value, и она работает как шарм...

Кто-нибудь, чтобы помочь мне?

Благодарю.

2 ответа

Решение

Детские панели на самом деле не предназначены для этого в соответствии со спецификацией Apple. Тем не менее, было бы безусловно возможно добавить поддержку для этого. Посмотрите на линию 500 в IASKAppSettingsViewController.m и установить cell.detailTextLabel.text в [self.settingsStore objectForKey:key] или ваше значение по умолчанию.

Если вы сделаете лишнюю милю и завернете это в милую дополнительную опцию, мы будем рады включить ваш вклад;)

Спасибо Ортвину за ваш ответ. Поскольку не все дочерние панели должны отображать значение, я изменил код на:

      if ( key ) {
        cell.detailTextLabel.text = [self.settingsStore objectForKey:key];
      }

Я не думаю, что нам нужен еще один ключ, так как он все равно раньше не использовался для дочерних панелей. Будет отличным дополнением к официальной версии.

Другие вопросы по тегам