2013-12-13 4 views
0

В настоящее время я занимаюсь проектом мобильного магазина. Мой клиент приказал, чтобы новая версия могла переключаться между двумя магазинами, где единственное различие между ними состоит в том, что первый имеет серый стиль, а второй - черный.iOS: изменение дизайна во время выполнения

Поскольку два магазина настолько похожи, я не хочу делать копию исходного кода (это было бы легким решением), но не очень гибким. Я знаком с разными шаблонами дизайна, но не могу найти тот, который подходит для моей конкретной проблемы.

В приложении есть раскрывающееся меню, в котором можно выбрать два магазина. Мои контроллеры представлений создаются программно и создает пользовательский вид в диспетчере просмотра. Контроллеры представлений содержат uielements, такие как uiimage uilabel, uitableview и т. Д. Когда выбран новый магазин, все цвета и изображения должны быть заменены, но моя проблема в том, что я только сохраняю ссылку на те элементы, которые мне нужны позже (например, таблица и т. д.).

Так что мой вопрос: что было бы правильным решением для решения моей проблемы? Можно ли использовать конкретный шаблон проектирования (например, шаблон стратегии) ​​для этого или мне нужно сделать параметризованное решение (или третье)?

Любая помощь будет очень оценена.

Заранее спасибо.

С наилучшими пожеланиями Себастьян

ответ

0

В то время как вы можете использовать макросы, чтобы различать бренды. Например, скажем, если у вас есть две марки, скажем MCDonald и KFC, вы можете определить соответствующие макросы в своем приложении и на основе макроса, следующие стили будут применены к указанным компонентам. Недостатком этого подхода является то, что вы в конечном итоге реализуете множество условных блоков для поддержки разных брендов.

Или вы можете создавать различные цели для брендов и копировать необходимые изображения в соответствующие объекты. Но не забудьте назвать изображения, похожие на обе цели, и приложение подберет требуемые изображения из выбранной цели. При таком подходе вы будете использовать одну и ту же базу кода, но разные ресурсы.

Надеюсь, это может дать вам некоторую идею !!!

0

Я бы использовал UIAppearance для настройки цветов и имел разные изображения для каждой цели (каждая цель была бы версией магазина).

Смежные вопросы