У меня есть эта иерархия:
пользовательский навигационный контроллер содержит пользовательский tabbarcontroller
пользовательский tabbarcontroller содержит несколько контроллеров
эти контроллеры содержат подпредставления, а один из них содержит подкласс uiscrollview.
Мне пришлось автоматически установить для ADjustsScrollViewInsets значение NO
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.automaticallyAdjustsScrollViewInsets = NO;
в пользовательском tabbarcontroller . Другие контроллеры в иерархии не влияют на поведение вложенной прокрутки.
Почему Spring?
Почему Seam?
From Framework Deathmatch: Spring vs Seam. Томас Вирадикусума (Весна). Джошуа Джексон (Шов). Группа пользователей Java, Индонезия. JaMU 07.03. Презентация Power Point от 17 марта 2007 г. здесь
Seam даст вам красивую, ах, бесшовную интеграцию между компонентами, составляющими стек швов. Все очень хорошо, пока вы держитесь внутри этой стопки, в рамках модели шва и других вещей. Однако все начинает выглядеть немного менее убедительно, как только вы начинаете делать что-то необычное.
Если это не слишком обобщение, Seam в этом отношении очень "микрософти". Это не плохо, это просто стилистика. Spring более открытый и требует больше усилий, но в конечном итоге он более гибкий и более открытый.
Вы можете использовать пружину и шов вместе - пружина для компонентов задней части, шов для улучшения веб-слой (JSF / GWT / Wicket) и прочее. Seam предлагает множество функций Spring (например, контейнер IoC, управление транзакциями) - в вашем проекте вы можете решить, какую реализацию использовать. Подробнее об интеграции Seam с Spring - «Seam in Action - раздел о бесплатном бонусе»
Давайте сравним их.
Что общего?
Оба имеют открытый исходный код, следуют архитектуре MVC и имеют фронт-контроллер на основе сервлетов.
Преимущества Spring MVC
Преимущества Seam
Заключение
Поскольку Seam построен на JSF, он имеет большое количество библиотек компонентов пользовательского интерфейса, из которых можно выбирать. Он лучше повторно использует стек Java EE. В него заранее интегрировано много интересных модулей.
Spring MVC построен на основе Struts и Spring, поэтому он будет повторно использовать стек фреймворка Spring намного лучше, чем другие. Но представление построено с использованием JSP, поэтому мы должны полагаться на поставщиков библиотеки тегов JSP для создания многофункциональных компонентов.
Фреймворк Seam был бы лучшим выбором, поскольку фреймворк Spring в любом случае достаточно расширяем, чтобы его можно было использовать в Seam.