Как добавить подпредставление в settings.bundle? - PullRequest
2 голосов
/ 28 июня 2009

Я хочу показать свое заявление об авторских правах в качестве подпредставления в одном из элементов settings.bundle. Я гуглил по этому поводу, но никакой помощи найти не удалось. Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

2 голосов
/ 29 июня 2009

Внешний вид панели настроек полностью основан на файлах XML plist в вашем комплекте настроек. Приложение «Настройки» считывает файл plist и создает представления и подпредставления, соответствующие найденным свойствам. Это может показаться ограничивающим, но это преднамеренный шаг: он обеспечивает согласованность всех панелей настроек, поэтому приложение «Настройки» имеет единое чувство.

Вы можете создавать подсписки в вашем комплекте настроек, которые определяют «подвиды» и позволяют создавать иерархические интерфейсы предпочтений. Вы можете найти информацию об этом в документации здесь: Иерархические настройки - Руководство по программированию iPhone .

Чтобы отобразить ваше заявление об авторском праве, вы можете иметь один из этих подсписков, определяющих только поле "PSTextFieldSpecifier". Затем пользователь может щелкнуть пункт «Авторские права» в ваших настройках и увидеть весь интерфейс, сдвинув его влево, чтобы показать ваш текст об авторских правах.

Надеюсь, это поможет!

  • Ben
0 голосов
/ 21 июля 2011

Вы можете сделать это возможным с помощью InAppSettingsKit

В Settings.bundle вам нужен Root.inApp.plist, где вы можете указать собственный viewController, например так:

 <dict>
            <key>Title</key>
            <string>Manage multiple reminders</string>
            <key>Type</key>
            <string>PSGroupSpecifier</string>
        </dict>
        <dict>
            <key>IASKViewControllerClass</key>
            <string>RemindersViewController</string>
            <key>IASKViewControllerSelector</key>
            <string>init</string>
            <key>Title</key>
            <string>Reminders list</string>
            <key>Type</key>
            <string>PSChildPaneSpecifier</string>
        </dict>

P.S. Это просто фрагмент кода из файла plist с заголовком

...