2013-03-06 4 views
1

Я хочу сделать что-то вроде Clear app: при перетаскивании вверх, появляется новая ячейка, и она остается поверх табличного представления (я думаю, с setContentOffset). Проблема в том, что когда я пытаюсь установить смещение содержимого таблицы в методе scrollViewDidEndDragging (или любой другой подобный этому), это не сработает. В основном настройка смещения содержимого игнорируется. Мой код выглядит следующим образом:Почему setContentOffset не работает в методе scrollViewDidEndDragging?

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { 
    [_myTableView setContentOffset:CGPointMake(0, -100) animated:YES]; 
} 

Помогите мне?

+0

_myTableView и ScrollView являются иной точки зрения? – Ankit

+0

Нет, это не так. _myTableView имеет в качестве делегата «я», поэтому этот метод должен его распознать. –

+0

Привет. проверьте мой ответ на http://stackoverflow.com/a/27088865/1510171 – tomeron11

ответ

0

Попробуйте

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { 
    [_myTableView setContentOffset:CGPointMake(0, -100) animated:NO]; 
} 
+0

Сопоставление содержимого отображается на некоторое время, но оно становится как раньше:/ –

0

Для Swift 3.0

DispatchQueue.main.async { in 
    _myTableView.setContentOffset(CGPoint(x: 0, y: -100), animated: true) 
} 
+0

Также вы можете использовать функцию 'scrollViewWillBeginDecelerating' вместо' scrollViewDidEndDragging' – hasankose

Смежные вопросы