оживить мой пользовательский номер - PullRequest
0 голосов
/ 13 января 2010

Я успешно создаю свой собственный вид цифровой клавиатуры и хочу, чтобы имитировался эффект цифровой клавиатуры по умолчанию, но он не может работать нормально, он не может анимироваться как цифровая клавиатура по умолчанию, как я могу изменить?

У меня есть вызов UITextField "fNumber" и вызов представления myNumberPadView для настраиваемой цифровой клавиатуры, созданный конструктором интерфейса. Когда фокусируется на "fNumber", я покажу анимированный myNumberPadView, поэтому я кодирую так:


 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if (textField == fNumber){
        CGRect frame = CGRectMake(0, 270, 320, 230);
        myNumberPadView.frame = frame;
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:1.75];
        frame.origin.x = 0;
        frame.origin.y = 270; 
        [UIView commitAnimations];
        [self.view addSubview:myNumberPadView];
    }
    return NO;
}

«myNumberPadView» отображается как подпредставление, оно не «анимирует» эффект в качестве цифровой клавиатуры по умолчанию, как сделать так, чтобы оно «анимировалось»?

Ответы [ 2 ]

1 голос
/ 13 января 2010

в блоке анимации, просто установите новый кадр на свой пользовательский цифровой блок. что-то вроде

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if (textField == fNumber){
        CGRect frame = CGRectMake(0, 480, 320, 230);
        [myNumberPadView setFrame:frame];
        [self.view addSubview:myNumberPadView];
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:1.75];
        [myNumberPadView setFrame:CGRectMake(0, 270, 320, 230)]; 
        [UIView commitAnimations];
    }
    return NO;
}
0 голосов
/ 13 января 2010
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField == fNumber){
    CGRect frame = CGRectMake(0, 270, 320, 230);
    myNumberPadView.frame = frame;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.75];
    frame.origin.x = 0;
    frame.origin.y = 270; 
   // [UIView commitAnimations];
    [self.view addSubview:myNumberPadView];//Place this before the line  [UIView commitAnimations];
    [UIView commitAnimations];
}
return NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...