当前位置: 首页 > 知识库问答 >
问题:

CodenameOne:Webview在iOS版本的应用程序中不可滚动

朱通
2023-03-14

我有一个遗留的cn1应用程序(使用旧的GUI构建器),在表单的中心有一个web浏览器组件(在BorderLayout容器中居中,这是主要的表单组件)。在模拟器和Android设备中,WebBrowser呈现良好。在iOS模拟器中,整个组件显示为一个黑色矩形,在iPhone(5S运行iOS9.1)上,WebBrowser的内容是可见的,但不会滚动。

是否有一些特定的设置,需要改变它是可滚动的?

        WebBrowser web = new WebBrowser() {
            @Override
            public void onLoad(String url) {
                System.out.println("Article body webview loaded");
                Component c = getInternal();
                if (c instanceof BrowserComponent) {
                    BrowserComponent b = (BrowserComponent) c;
                    String text = ((String) m.currentArticleInfo.get("id"));
                    b.execute("loadArticle('" + text + "')");

                }

            }
        };

        ((BrowserComponent) web.getInternal()).setNativeScrollingEnabled(true);
        ((BrowserComponent) web.getInternal()).setScrollVisible(false);
        web.setScrollVisible(false);
        web.setURL("jar:///article_body.html");
        web.setScrollable(true);
        web.getAllStyles().setPaddingTop(10);
        form.addComponent(BorderLayout.CENTER, web); 
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" type="text/css" href="https://www.example.com/styles/style.css" />

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
        <style>
            body::-webkit-scrollbar{
                width: 0 !important;
            }
            #left_side_article #right #the_article #details_info{
                font-size: 3.5mm !important;
            }
            div#the_article{
                border: none !important;
            }
            div#the_article_header{
                padding: 0 !important;
            }
            </style>
    </head>
    <body style="min-height: 100px">
        <div id="left_side_article">
            <div id="right">
                <div id="the_article">
                    <div id="details_info" >

                    </div>
                </div>
            </div>
        </div>
         <script>
                function loadArticle(content) {
                    console.log('in load article function, article id: ' + content);
                    var url = "https://www.example.com/api/article_body_ajax.php";
                     $.post(url,{"app_code": "myappcode", "id" : content},function(data,status,jqxhr){
                         $("#details_info").html(data);
                         $("#details_info img").each(function(){
                           $(this).attr("src", "https://www.example.com/" + $(this).attr("src"));
                           $(this).css("height", "auto");
                         });
                     });
                };
        </script>
    </body>
</html>

共有1个答案

司徒钱青
2023-03-14

这可能与我们对getcomponentat所做的更改有关,看看在本周末的更新之后是否还在发生这种情况。我们在这里讨论了与此相关的一些回归:https://www.codenameone.com/blog/dont-touch-that-code.html

 类似资料:
  • 我需要测试我的应用程序的一些功能,比如“应用内计费”服务,所以我在Google Play的Alpha版本中发布了它,我填写了所有必填字段,添加了testers Gmail帐户,该应用程序已签名,其版本高于测试版/生产版。 从昨天开始,在Google Play控制台的Alpha部分,我可以看到该应用程序已发布,但当我去Play商店时,该应用程序没有出现,试图从提供的链接获取该应用程序时,它表示该应用

  • 安装build/build/products/debug-iphonesimulator/updateversion.app处理命令时遇到错误(domain=nsposixerrordomain,code=2):安装请求的应用程序失败,在提供的路径上找不到应用程序包。提供到所需应用程序包的有效路径。打印:条目“:cfbundleidentifier”不存在 命令失败:/usr/libexec/pl

  • banner.txt中定义的应用程序版本在运行应用程序时不会显示在控制台上。它是根据Spring Boot的文档定义的 该项目使用spring boot starter父级作为父级pom(从start.spring.io开始的基本项目设置)

  • 我的目标是在下拉列表中向下滚动,直到用户可以看到TN等状态。当scrollTo()方法工作时,这在Appium中是可能的,但在当前的Appium构建中,它们被弃用。我试过驾驶。但是什么也没发生。我不太熟悉iOS谓词,但也尝试过使用它们。 到目前为止,替代方案已经尝试过,但都没有奏效: #1 #2:

  • 我使用了下面的方法,但它在方法上显示了错误。此方法在驱动程序类中不可用。因此,请建议是否有其他方法可以滚动到iOS Appium v1。7.2。

  • 我正在编译我的Android项目,但我遇到了这个错误 我在其他文章中读到,试图用Java 8编译可能会导致错误,但不是我的情况,我有以下Java版本: 操作系统:Linux薄荷(我没有安装Java 8。)构建:MAVEN 有谁能帮我一下吗?