Представление представления, потянув от вершины представления - PullRequest
1 голос
/ 18 августа 2011

Итак, я планирую сделать другой способ отображения истории в своем приложении для iPad, и я думаю, что пользователь мог бы поднять представление истории снизу, стоит ли просто разместить там UIView и добавить для него распознаватель жестов? Есть ли «правильный» способ сделать это? Я хочу, чтобы пользователь действительно мог перетаскивать вид снизу. Если вы не понимаете, спросите, и я уточню.

1 Ответ

2 голосов
/ 19 августа 2011

У вас правильная идея. Вы бы использовали UIPanGestureRecognizer для обновления frame представления. Имейте в виду, что у вас должно быть что-то, что пользователь всегда будет «тянуть» на видимое - я не думаю, что вы сможете полностью скрыть вид за экраном.

Примерно так будет в реализации объекта, который вы выбираете для обработки событий из вашего распознавателя жестов (в этом примере предполагается, что это ваш контроллер представления):

- (void)handleDrag:(UIPanGestureRecognizer *)gesture {
    if (gesture.state == UIGestureRecognizerStateChanged ||
        gesture.state == UIGestureRecognizerStateEnded) {
        CGPoint translation = [gesture translationInView:self.view];
        CGRect newFrame = historyView.frame;
        newFrame.origin.x = newFrame.origin.x + translation.x;
        newFrame.origin.y = newFrame.origin.y + translation.y;
        historyView.frame = newFrame;

        // you need to reset this to zero each time
        // or the effect stacks and that's not what you want
        [gesture setTranslation:CGPointZero inView:self.view];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...