Objective-c: возможно ли открыть UIScrollView, когда я держу клавишу в течение нескольких секунд - PullRequest
0 голосов
/ 28 февраля 2012

Я хочу встроить UIScrollView в мое приложение и установить его по умолчанию скрытым.Когда я удерживаю клавишу, то есть D на клавиатуре в течение 3 секунд, появляется этот UIScrollView, возможно ли реализовать эти идеи?

Спасибо

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

Если вы не ищете длинных нажатий на клавиатуру, вам стоит использовать UILongPressGestureRecognizer

Однако вам нужны длинные нажатия клавиш.К сожалению, я не вижу возможности этого с клавиатурами Apple, поскольку длительное нажатие на клавиши клавиатуры уже используется Apple для других целей.например, для предоставления акцентированных версий символов или других наименований валют.(попробуйте долго нажимать S или $)

Поэтому я думаю, что вам придется полностью кодировать свою собственную клавиатуру, чтобы делать то, что вы надеетесь сделать.

1 голос
/ 28 февраля 2012
UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(showResetMenu:)];
[piece addGestureRecognizer:longPressGesture];
[longPressGesture release];


- (void)showResetMenu:(UILongPressGestureRecognizer *)gestureRecognizer
{
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
    UIMenuController *menuController = [UIMenuController sharedMenuController];
    UIMenuItem *resetMenuItem = [[UIMenuItem alloc] initWithTitle:@"Reset" action:@selector(resetPiece:)];
    CGPoint location = [gestureRecognizer locationInView:[gestureRecognizer view]];

    [self becomeFirstResponder];
    [menuController setMenuItems:[NSArray arrayWithObject:resetMenuItem]];
    [menuController setTargetRect:CGRectMake(location.x, location.y, 0, 0) inView:[gestureRecognizer view]];
    [menuController setMenuVisible:YES animated:YES];

    pieceForReset = [gestureRecognizer view];

    [resetMenuItem release];
}
}

для простой кнопки после долгого нажатия на нее вы получите всплывающее окно сброса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...