Выберите Первую строку как значение по умолчанию в UITableView

У меня есть приложение, которое является viewbased, и я добавляю tableview как подпредставление к основному представлению. Я взял UITableViewDelegate ответить методы таблицы. Все хорошо работает, но я хочу выбрать первую строку или UITableView как значение по умолчанию, выбранное (Выделенный).

Помогите мне, с тем, в каком коде я нуждаюсь и куда я должен поместить его.

54
задан Till 17 January 2013 в 00:59
поделиться

2 ответа

Мы используем настраиваемые фоновые изображения для ячейки в зависимости от того, первая это ячейка ... средняя ячейка или последняя ячейка. Таким образом, мы получим красивый скругленный угол для всей таблицы. Когда строка выбрана, она заменяет красивую «подсвеченную» ячейку, чтобы дать пользователю обратную связь о том, что он выбрал ячейку.

UIImage *rowBackground;
UIImage *selectionBackground;
NSInteger sectionRows = [tableView numberOfRowsInSection:[indexPath section]];
NSInteger row = [indexPath row];

if (row == 0 && row == sectionRows - 1)
{
    rowBackground = [UIImage imageNamed:@"topAndBottomRow.png"];
    selectionBackground = [UIImage imageNamed:@"topAndBottomRowSelected.png"];
}
else if (row == 0)
{
    rowBackground = [UIImage imageNamed:@"topRow.png"];
    selectionBackground = [UIImage imageNamed:@"topRowSelected.png"];
}
else if (row == sectionRows - 1)
{
    rowBackground = [UIImage imageNamed:@"bottomRow.png"];
    selectionBackground = [UIImage imageNamed:@"bottomRowSelected.png"];
}
else
{
    rowBackground = [UIImage imageNamed:@"middleRow.png"];
    selectionBackground = [UIImage imageNamed:@"middleRowSelected.png"];
}


((UIImageView *)cell.backgroundView).image = rowBackground;
((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;

Если вы хотите, просто сделайте первую ячейку, которая находится по адресу indexPath.row == 0, для использования настраиваемого фона.

Это взято из превосходного сайта Мэтта Галлахера

0
ответ дан 7 November 2019 в 07:46
поделиться

Вы можете сделать вот так:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSIndexPath *ip=[NSIndexPath indexPathForRow:0 inSection:0];
    [myTableView selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionBottom];
}
-1
ответ дан 7 November 2019 в 07:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: