Это пример iOS UITableView? - PullRequest
       10

Это пример iOS UITableView?

0 голосов
/ 22 сентября 2011

Мне нужно сделать что-то вроде этого:

http://i53.tinypic.com/14x3392.png.

Это UITableView? Или как мне это сделать? Любая идея приветствуется.

Код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (indexPath.section == 0) {

       if (indexPath.row == 0) return cell1;

    } else if (indexPath.section == 1) {

       if (indexPath.row == 0) return cell2;

    } else if (indexPath.section == 2) {

       if (indexPath.row == 0) return cell3;
    }
}

Ответы [ 10 ]

2 голосов
/ 22 сентября 2011

Скорее всего, это UITableView .Может быть, это не так (это может быть UIScrollView с добавленными представлениями, подобными разделам в табличном представлении).

Но если вы хотите создать что-то похожее на изображение, я бы предложил вамиспользовать UITableView с настроенными ячейками.Потому что реализация табличного представления в этом случае проще, так как вам нужно просто позаботиться о делегате и dateSource табличного представления, а не беспокоиться о выравнивании представлений по порядку.

Используйте вид таблицы в секциях с полупрозрачным, с серой рамкой, черным фоном в качестве backgroundView из клеток.Добавьте метки и arrow в качестве подпредставлений ячейки.Вы можете добавить стрелка как accessoryView , но это станет вертикально центрированным, но на изображении стрелка отображается немного сверху ячейки.

В каждом разделе должна быть только одна ячейка.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return 1;
}

Может быть любое количество разделов (3 здесь).

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 3; // Can be any number
}
0 голосов
/ 01 ноября 2012

Да, это groupedtableview с clearcolor как backgroundcolor.Цвет фона ячейки также необходимо изменить на clearcolor.

0 голосов
/ 27 декабря 2011

да, это tableView с пользовательским UITableViewCell. Вы можете сделать это, создав пустой XIB-файл, а затем добавив UITableViewCell и сделав свою настройку ... затем в методе cellForRowAtIndexPath используйте:

 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:edentifier];
 if (cell == nil) {
    cell = [[[NSBundle mainBundle]loadNibNamed:@"yourCellName" owner:self   options:nil]objectAtIndex:0];

thisэто из моего заявления.

enter image description here

0 голосов
/ 05 декабря 2011

Мы можем выполнить то же самое, как показано на рисунке выше, с помощью табличного представления и представления с прокруткой. Если вы не хотите использовать табличное представление, тогда вы можете использовать представление с прокруткой или простое представление и добавить несколько кнопок вместе сИзображение в фоновом режиме с разными рамками. Это означает, что фон кнопки будет иметь одинаковое изображение. Затем вы можете использовать разные надписи для отображения всех текстов в разных надписях в соответствии с требованиями.ИЛИ вы можете использовать табличное представление. Для этого вам нужно вернуть количество разделов 3 (на этом изображении) в методе делегата - (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView.and затем все как стиль табличного представления по умолчанию. И затем изменитьстиль ячейки в подробный.

0 голосов
/ 22 сентября 2011

Нет необходимости в его просмотре прокрутки или просмотре таблицы ... оба выполняются одинаково ..

Просто измените цвет фона таблицы в качестве прозрачного цвета .....

отметьте этокод ...

поместите эту строку в viewDidLoad:

[tableView setBackgroundColor:[UIColor clearColor]];

и

  • (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath*) indexPath {

..... // Ваши кнопки меток и т. д. ........ ...... ...... .....

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
[cell setClipsToBounds:YES];
[[cell layer] setBorderColor:[[UIColor blackColor] CGColor]];
[[cell layer] setCornerRadius:10];

}

0 голосов
/ 22 сентября 2011

Я не могу точно сказать, что используется на картинке, однако я предлагаю использовать UITableView , особенно если у вас есть переменные данные, поступающие из структурированного объекта.

Вот некоторые уроки, которые я нашел очень полезными:

Создание настроенного UITableViewCell из XIB
http://www.bdunagan.com/2009/06/28/custom-uitableviewcell-from-a-xib-in-interface-builder/

UIViewTable anti-pattern - очень хороший шаблон MVC для построения UIViewTable
http://www.slideshare.net/nullobject/uitableviewcontroller-antipatterns

И, конечно, документы Apple:
Http: /developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html

Важно помнить, что вы всегда должны повторно использовать ячейки кэшированной таблицы с помощью метода источника данных tableView:didSelectRowAtIndexPath:

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

Надеюсь, это поможет и удачи в вашем проекте.

0 голосов
/ 22 сентября 2011

почему вы беспокоитесь об этом? Его простой человек .... ничего, если у вас есть руки над UITableView. Да, вы должны знать о: 1: установить фоновое изображение на экране, точно как размер таблицы. 2. Установите на них табличное представление и сделайте фон прозрачным. 3: настроить ячейку таблицы и добавить в строку таблицы.

Вот так ..... наслаждайся этой работой .. это творчество. И ты можешь сделать это, парень ....

0 голосов
/ 22 сентября 2011

Вы можете сделать это, используя tableView в

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{

return 1;

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{

//here place return your array contents

}
0 голосов
/ 22 сентября 2011

Я предлагаю использовать div или list, не используйте table, очень сложно контролировать, если содержимое слишком длинное.

0 голосов
/ 22 сентября 2011

Да, это, скорее всего, стилизованное табличное представление. См. Это руководство или это хорошее руководство .

...