iphone - 从 iPhone 独立 Web 应用程序的键盘中删除表单助手

标签 iphone html css iphone-web-app iphone-standalone-web-app

是否可以从独立网络应用程序的 iPhone 弹出键盘中删除表单助手?我知道普遍的共识是它在 Mobile Safari 中是不可能的,但是一个独立的应用程序在 UIWebView 中运行。 , 并且在几个方面有不同的功能 ( example ), 所以我希望这是可能的。

您可以在键盘上方的此处看到它:

enter image description here

Previous 和 Next 按钮在 <form> 之间循环输入。但我有一个 <input>元素,因此它们被禁用。 “完成”按钮隐藏了键盘,但由于我有一个高度灵活的 <ul> (它占用了键盘和 <input> 之间的空间),我在这个页面上没有其他东西,它没有任何用处。

在一个小屏幕上,键盘几乎占据了一半的屏幕,构成这个工具栏的 44 个像素是对空间的巨大浪费(整个 <li> 的值(value))。

native iOS 应用程序可以删除它,所以我知道这至少可以在手机上实现,只是我还没有发现在网络应用程序中执行此操作的方法。这是来自 Facebook 应用程序,页面与我的非常相似:

enter image description here

我试过使用 <input>没有包裹在 <form> 中还使用 contenteditable <div> , 但结果是一样的。有几个自定义-webkit-样式来控制 Web 应用程序界面的各个方面,但它们的文档很少,搜索也没有找到任何相关内容。

有什么方法可以删除网络应用程序中的表单助手?

最佳答案

如果您的应用是包装在 native Objetive-C 应用中的 Web 应用,则可以通过操纵键盘 View 实现这一点。

首先,注册接收 keyboardDidShow 通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];

这将在键盘出现时调用以下方法:

-(void)keyboardDidShow:(NSNotification*)notif
{
    NSArray *array = [[UIApplication sharedApplication] windows];

    for (UIWindow* wind in array) {
        for (UIView* currView in wind.subviews) {
            if ([[currView description] hasPrefix:@"<UIPeripheralHostView"]) {
                for (UIView* perView in currView.subviews) {
                    if ([[perView description] hasPrefix:@"<UIWebFormAccessory"]) {
                        [perView setHidden:YES];
                    }
                }

            }
        }
    }
}

此方法遍历屏幕上的 View ,寻找表单助手并将其隐藏。

注意:Apple 可能不会拒绝这一点,因为我已经看到它被 Facebook 等公司使用,但这种技术可能会在即将发布的 iOS 版本中失效。

关于iphone - 从 iPhone 独立 Web 应用程序的键盘中删除表单助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7904892/

相关文章:

html - 响应式网页设计中布局更改时 HTML 元素的切换顺序

iphone - 在 iPhone SDK 中注释 PDF

iphone - 创建许多对象时 FPS(每秒帧数)下降

iphone - 为什么这个 View Controller 不能设置下一个 View Controller 的文本字段?

javascript - 动画功能 : change div width by using radio buttons

javascript - 如何通过文件加载器加载图像作为多个页面的背景图像

iPhone:如何下载完整的网站?

javascript - 获取元素内的选中复选框

html - CSS 在两个元素之间创建弯 Angular ?

css - 隐藏复选框和单选按钮并使用 CSS