Я пытаюсь реализовать вид, аналогичный тому, который используется в приложении календаря Apple для настройки времени начала и окончания. У меня прекрасный вид, но я сталкиваюсь с двумя проблемами. Во-первых, я хочу, чтобы первый ряд был выбран автоматически. Я вроде как это работает, используя:
NSIndexPath *indexPath=[NSIndexPath indexPathForRow:0 inSection:0];
[dateTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
Однако анимация показывает, визуально выбирая строку при загрузке представления, я хочу, чтобы она уже была выбрана при загрузке представления.
Вторая, и гораздо более важная проблема заключается в том, что при перезагрузке данных после обновления средства выбора я теряю выбор, и моя задача просто не работает.
Теперь я знаю, что это действие по умолчанию для reloadData, я ищу альтернативный метод для достижения своей цели или, возможно, как я могу увеличить reloadData, чтобы не отменять текущий выбор.
Моя задача включена ниже:
-(IBAction)dateChanged
{
NSIndexPath *index = self.dateTableView.indexPathForSelectedRow;
if(index == 0)
{
if (self.date2 == plusOne ) {
self.date = [datePicker date];
plusOne = [self.date dateByAddingTimeInterval:60*60];
self.date2 = plusOne;
}
else
{
self.date = [datePicker date];
}
}
else{
self.date2 = [datePicker date];
}
[dateTableView reloadData];
}
Примечание: plusOne - это переменная, которая первоначально указывает час с текущего времени.
Заранее спасибо!