PhoneGap Iphone Apps, сенсорная панель содержит дополнительную панель - PullRequest
0 голосов
/ 11 марта 2011

Я создал приложение для телефона с помощью phoneGAP. Когда я тестировал свое приложение на своем iPod, в верхней части сенсорной панели обнаруживается дополнительная панель (она содержит кнопки типа «Готово», «Предыдущая», «Следующая»). Но она не найдена. в приложениях, созданных с использованием цели C. Кто-нибудь знает, как я удалил эту панель.

Спасибо

1 Ответ

1 голос
/ 05 декабря 2012

Панель помощника по формам (предыдущая, следующая, готовая) может быть удалена с помощью довольно хакерского, но рабочего решения.Это, конечно, предполагает, что вы используете PhoneGap.Это просто невозможно сделать в обычном веб-приложении / веб-странице.

Замените содержимое вашего MainViewController.m следующим:

#import "MainViewController.h"

@implementation MainViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
 {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
}
return self;
}

- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
 {
 [super viewDidLoad];
// Do any additional setup after loading the view from its nib.
 }

 - (void)viewDidUnload
 {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}

  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

 {

// Return YES for supported orientations
return [super shouldAutorotateToInterfaceOrientation:interfaceOrientation];
 }

- (void) removeBar {
// Locate non-UIWindow.
UIWindow *keyboardWindow = nil;
for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) {
    if (![[testWindow class] isEqual:[UIWindow class]]) {
        keyboardWindow = testWindow;
        break;
    }
}

// Locate UIWebFormView.
for (UIView *possibleFormView in [keyboardWindow subviews]) {       
    // iOS 5 sticks the UIWebFormView inside a UIPeripheralHostView.
    if ([[possibleFormView description] rangeOfString:@"UIPeripheralHostView"].location != NSNotFound) {
        for (UIView *subviewWhichIsPossibleFormView in [possibleFormView subviews]) {
            if ([[subviewWhichIsPossibleFormView description] rangeOfString:@"UIWebFormAccessory"].location != NSNotFound) {
                [subviewWhichIsPossibleFormView removeFromSuperview];
            }
        }
    }
}
}

- (void)keyboardWillShow:(NSNotification*) notification {
// remove the bar in the next runloop (not actually created at this point)
[self performSelector:@selector(removeBar) withObject:nil afterDelay:0];
}

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