добавить себя в качестве UIScrollViewDelegate
в UITableView и осуществлять - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
, так что если ваши взгляды на своих позициях стартерных они делают это:
- ваш UITableView
одушевляет его размер во втором состоянии:
[UIView animateWithDuration:.1f animations:^{
CGRect theFrame = myView.frame;
theFrame.size.height += floatOfIncreasedHeight;
myView.frame = theFrame;
}];
- ваш UIView
одушевляет его вертикальное перемещение
[UIView animateWithDuration:3 delay:0 options:UIViewAnimationOptionCurveLinear animations:^(void){
view.center = CGPointMake(view.center.x , view.center.y + floatOfVerticalMovement);
}completion:^(BOOL Finished){
view.center = CGPointMake(view.center.x , view.center.y - floatOfVerticalMovement);]
Наконец всегда в делегатом реализации – scrollViewDidScrollToTop:
так, что вы знаете, может оживить обратно в исходное состояние (с использованием тех же методов, реверсивные).
UPDATE:
, поскольку ваши взгляды находятся внутри зрения прокрутки, есть более простой способ, если вы нормально с табличное быть отчасти из-за границы в вашем положении стартера (т.е.вместо изменения размера он просто прокручивается):
сделайте размер прокрутки размером до вашего окончательного tableview
+ ваш начальный (полный) вид и поместите его на 0,0 (так что его заключительная часть будет скрыта снаружи экрана)
scrollview.frame = CGRectMake(0,0,tableview.frame.size.width,tableview.frame.size.height + view.frame.size.height);
вы делаете контейнер scrollview
содержания таким большим, как весь табличном + все зрение + сумма зрения, что вы хотите из пути при прокрутке вида таблицы.
scrollview.contentSize = CGSizeMake(scrollview.frame.size.width, tableview.frame.size.height + view.frame.size.height + floatOfViewHeightIWantOutOfTheWay);
вы размещаете вид один за другим в Scrollview оставляя все дополнительные пустое пространство после табличном
view.frame = CGRectMake(0,0,view.frame.size.width, view.frame.size.height);
tableview.frame = CGRectMake(0,view.frame.size.height, tableview.frame.size.width, tableview.frame.size.height);
теперь нужно просто работать, потому что, так как iOS 3
вложенная scrolling
поддерживается
Я считаю, что это работает только для UITableView только с одним разделом. – SAHM