#iphone #objective-c #uinavigationcontroller #uipopovercontroller
#iPhone #objective-c #uinavigationcontroller #uipopovercontroller
Вопрос:
Я пытаюсь сделать что-то похожее на фильтр Yelp на iPad. Это выглядит так:
Я пытаюсь выяснить, как лучше всего это сделать. Это выглядит очень аккуратно, как будто это два раздела в UITableView, причем каждая строка делает что-то свое. Первая сортировка результатов По — это просто UISegmentedControl, вторая — это некоторый пользовательский элемент управления, который имеет несколько вариантов выбора для UISegmentContrl, а кнопка Neighborhoods действует как UINavigationController, помещая в стек другой ViewController, который скрывает всю текущую информацию на картинке и имеет кнопку «Назад» вверху. Мне было интересно, как кто-то будет строить это. Когда я впервые вижу это, я бы
1) создайте первый UISegmentedControl в .xib 2) создайте второй пользовательский элемент управления в коде (видел сообщение на SO о том, как создать элемент управления сегментом с несколькими выборками 3) попросите кнопку Neighborhoods выделить новый UINavigationController с RootViewController, являющимся новым классом, который я показываю. 4) добавьте соответствующие UILabels «Сортировать результаты по» и «Сужать результаты по» в .xib 5) нарисуйте закругленные прямоугольники в коде позади в viewDidLoad или что-то в этом роде
Вот как я бы подошел к этому. Я не уверен, что это хороший способ приблизиться к нему или нет. Я открыт для предложений людей! Большое спасибо.
Ответ №1:
Я бы сделал это с помощью сгруппированного табличного представления. Каждый из этих пузырьков представляет собой отдельную ячейку. Вы могли бы сделать все это с помощью Interface Builder. Просто создайте каждую ячейку как отдельный элемент, настройте для них IBOutlets и верните соответствующий объект nib в вашем методе cellForRowAtIndexPath. Вам также необходимо вернуть правильную высоту каждой ячейки в методе heightForRowAtIndexPath .
Комментарии:
1. Поэтому я начал внедрять его по вашей рекомендации. Как мне сделать так, чтобы вы не видели границ ячеек? Я видел, что ppl сказал, что вы можете сделать backgroundView пустым представлением, но тогда вы не получите контур сгруппированной таблицы (cell.backgroundView = backView; где UIBackView *backView = [[[UIView alloc] initWithFrame:CGRectZero] авторелиз];. Вы просто ничего не получаете за границы. Есть мысли? Спасибо.