Как остановить перемещение UIView? Или вид замедленного действия.Как остановить перемещение UIView?
Проблема заключается в том, например:
У меня есть метод, изменяя положение взгляда на события щелчка кнопки; в то же время другое событие перетаскивания может изменить положение представления. Если я сначала позвоню событию перетаскивания, тогда, когда вид замедляется, быстро нажмите «В», позиция «Вид» изменится в соответствии с методом, стоящим за В, но он немедленно вернется туда, где он замедлялся, и продолжает замедляться. Вид не вернется туда, где кнопка B указывает, что он заканчивает торможение.
Код выглядит следующим образом.
Сначала я использую KVO, чтобы представление (то есть _topView - это код) отвечает на contentOffset таблицыView (при перетаскивании таблицыView View будет перемещаться).
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary<NSString *,id> *)change context:(void *)context
{
CGPoint contentOffset = [change[NSKeyValueChangeNewKey] CGPointValue];
CGRect topFrame = _topView.frame;
topFrame.origin.y = -(contentOffset.y + TOP_SECTION_HEIGHT);
_topView.frame = topFrame;
}
Затем, нажав кнопку B, будет запущена анимация внизу.
topFrame = CGRectMakke(...);
[UIView animateWithDuration:1 animations:^{
_topView.frame = topFrame;//topView
targetTableView.contentOffset = targetViewTargetOffset;
}];
Показать код перемещения «UIView'». – Raptor
KVO - отличный способ для просмотра видов. Почему бы вам не просто оживить все вместе в блоке анимации? – SmokeDispenser
@JanGreve, потому что мне нужно сделать перемещение View вместе с tableView, даже последнее замедляет – WhiteTherewasproblem