У меня возникла странная проблема.Проблема при использовании навигационной панели и UITextField
У меня есть три UITextField и когда клавиатура перекрывает экран я продвигаясь вверх по экрану с помощью кода:
- (void)textFieldDidBeginEditing:(UITextField *)textField {
if(self.view.frame.size.height==568 && textField==txtVerifyPassword)
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[UIView setAnimationBeginsFromCurrentState:YES];
self.view.center = CGPointMake(originalCenter.x,originalCenter.y-100);
}
else if(self.view.frame.size.height==568 && textField==txtPassword)
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[UIView setAnimationBeginsFromCurrentState:YES];
self.view.center = CGPointMake(originalCenter.x,originalCenter.y-20);
}
}
и я переезжаю в исходное положение с помощью:
- (void)textFieldDidEndEditing:(UITextField *)textField{
self.view.center = CGPointMake(originalCenter.x,originalCenter.y);
}
Оригинального центра в DidLoad :
- (void)viewDidLoad {
[super viewDidLoad];
originalCenter = self.view.center;
// Do any additional setup after loading the view.
}
Я добавляю навигационную панель программно-так программно:
[self.navigationController setNavigationBarHidden:NO];
self.navigationItem.title = @"Demo";
UIColor *bg = [UIColor colorWithRed:9/255.0f green:161/255.0f blue:12/255.0f alpha:1.0f];
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = bg;
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};
} else {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = bg;
self.navigationController.navigationBar.translucent = NO;
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};
}
Когда я удаляю навигацию, все отлично работает.
Но когда я добавить его я получаю две проблемы:
- Extra Black Space в нижней части (Просмотр не возвращается в исходное положение)
- Когда я пальцем вверх или вниз панель навигации, кожевенное (не знаю, почему это происходит)
вам нужно добавить высоту навигационной панели. или может быть вашей навигационной панелью и просматривать перекрытия в дизайне, сначала проверьте это. –
проверить это свойство контроллера навигации '@property (nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe NS_AVAILABLE_IOS (8_0);' для шкурки. –
@AshokLondhe Почему моя панель навигации скрывается, когда я нажимаю в любом месте на экране – Sid