Подтвердить что ты не робот

Как остановить UIWebView, подпрыгивая вертикально в телефонной таблице 3.0

Попробовали много предложений с этого и других форумов, включая установку "DisallowOverscroll" на "true". Разве это сломано в phonegap 3.0 случайно?

4b9b3361

Ответ 1

Внесите определенные изменения в config.xml,

Если вы используете его для Android, используйте

<preference name="disallowOverscroll" value="true" />

<preference name="webviewbounce" value="false" />

И для IOS используйте, например,

<preference name="disallowOverscroll" value="true" />

<preference name="webviewbounce" value="false" />

Надеюсь, это поможет вам.

ИЗМЕНИТЬ

Сделайте cordova build после внесения изменений в файл config.xml, чтобы изменения повлияли на ваш проект. Вышеупомянутые шаги помогут решить вашу проблему только после того, как вы выполните cordova build

Ответ 2

В файле AppDelegate.h после инициализации MainViewController вы можете отключить это отключение, задав класс scrollView внутри webview:

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    ....................

    self.viewController.webView.scrollView.bounces = NO;
    return YES;
}

Значение конфигурации в файле config.xml не использовалось, я искал все в проекте Кордовы.

Ответ 3

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

in viewdidload:

webView.scrollView.delegate = self;
[webView.scrollView setShowsHorizontalScrollIndicator:NO];



-(void)scrollViewDidScroll:(UIScrollView *)scrollView

{

if (scrollView.contentOffset.x > 0  ||  scrollView.contentOffset.x < 0 )
    scrollView.contentOffset = CGPointMake(scrollView.contentOffset.y, 0);

}

Ответ 4

Для Кордовы 3.x и выше я считаю, что вы можете настроить (void)webViewDidFinishLoad в MainViewController.m следующим образом:

- (void)webViewDidFinishLoad:(UIWebView*)theWebView {
    // Black base color for background matches the native apps
    theWebView.backgroundColor = [UIColor blackColor];
    theWebView.scrollView.bounces = NO;
    return [super webViewDidFinishLoad:theWebView];
}

Протестировано: Кордова 3.4, 3.5.

Ответ 5

В вашем файле AppDelegate.m приложение "(UIApplication *) didFinishLaunchingWithOptions.." должно выглядеть следующим образом:

/**
 * This is main kick off after the app inits, the views and Settings are setup here. (preferred - iOS4 and up)
 */
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    CGRect screenBounds = [[UIScreen mainScreen] bounds];

#if __has_feature(objc_arc)
        self.window = [[UIWindow alloc] initWithFrame:screenBounds];
#else
        self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];
#endif
    self.window.autoresizesSubviews = YES;

#if __has_feature(objc_arc)
        self.viewController = [[MainViewController alloc] init];
#else
        self.viewController = [[[MainViewController alloc] init] autorelease];
#endif

    // Set your app start page by setting the <content src='foo.html' /> tag in config.xml.
    // If necessary, uncomment the line below to override it.
    // self.viewController.startPage = @"index.html";

    // NOTE: To customize the view frame size (which defaults to full screen), override
    // [self.viewController viewWillAppear:] in your view controller.

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    self.viewController.webView.scrollView.bounces = NO;
    return YES;
}

Просто добавьте self.viewController.webView.scrollView.bounces = NO;, прежде чем вернется ДА;