У меня есть tableViewController с динамическим UIView внутри него, где изменяется положение слоя, так что оно остается под строкой состояния. Я сделал то же самое с обычным контроллером View с UIScrollView.CALayer не меняет позицию в UIScrollview
Если «banner status» в tableViewController делает то, что он предположил, баннер статуса в viewController этого не делает.
Положение строки состояния изменено в методе viewDidScroll внутри каждого контроллера представления.
Почему баннер во втором контроллере не перемещается?
Вот код, это то же самое в обоих контроллерах зрения:
-(void)scrollViewDidScroll: (UIScrollView*)scrollView
{
CALayer *layer = _statusBanner.layer;
float scrollOffset = scrollView.contentOffset.y;
if (scrollOffset > 10)
{
[[self navigationController] setNavigationBarHidden:YES animated:YES ];
[_statusBanner setHidden:NO];
layer.position = CGPointMake(layer.position.x, scrollOffset + 10);
}
else {
[[self navigationController] setNavigationBarHidden:NO animated:YES ];
[_statusBanner setHidden:YES];
}
}
Вы разрабатываете для iOS6 или 7? – Woodstock
Я разрабатываю для iOS7 – Jargen89
Можете ли вы иметь свой вид сверху контроллера табличного представления, а не внутри него? Тогда он будет всегда оставаться в одном месте при прокрутке стола. – Macondo2Seattle