Установите значение для дочерней панели
Используя 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];
}
Я не думаю, что нам нужен еще один ключ, так как он все равно раньше не использовался для дочерних панелей. Будет отличным дополнением к официальной версии.