【问题标题】:Adding a webview for each tab in UITabBarController?为 UITabBarController 中的每个选项卡添加 web 视图?
【发布时间】:2017-05-04 11:39:20
【问题描述】:

如何在 UIViewController 中为每个选项卡添加 Web 视图?

public class TabController: UITabBarController
{
    UIViewController tab1, tab2, tab3, tab4, tab5, tab6, tab7;

    public TabController()
    {
        tab1 = new UIViewController();
        tab1.Title = "Test";
        tab1.View.BackgroundColor = UIColor.Orange;



        tab2 = new UIViewController();
        tab2.Title = "Test2";
        tab2.View.BackgroundColor = UIColor.Orange;

        tab3 = new UIViewController();
        tab3.Title = "Test3";
        tab3.View.BackgroundColor = UIColor.Red;

        tab4 = new UIViewController();
        tab4.Title = "Test4";
        tab4.View.BackgroundColor = UIColor.Red;

        tab5 = new UIViewController();
        tab5.Title = "Test5";
        tab5.View.BackgroundColor = UIColor.Red;

        tab6 = new UIViewController();
        tab6.Title = "Test6";
        tab6.View.BackgroundColor = UIColor.Red;

        tab7 = new UIViewController();
        tab7.Title = "Test7";
        tab7.View.BackgroundColor = UIColor.Red;




        var UIViewController = new UIViewController[] {
                            tab1, tab2, tab3, tab4, tab5, tab6, tab7
    };


        tab1.TabBarItem = new UITabBarItem(UITabBarSystemItem.Favorites, 0);

        ViewControllers = UIViewController;
    }
}

所以对于每个选项卡,而不是“tab1.View.BackgroundColor = UIColor.Orange;”,它 应该: Webview + Title + Link 让每个tab有不同的页面?

【问题讨论】:

  • 你想做什么?
  • 对于每个标签,它必须有一个 web 视图,每个 web 视图都有一个链接和标题,这样当我点击一个标签时,我们称之为 Test1(title),它会打开一个 web使用某个链接查看,然后对其余选项卡进行相同的查看。
  • 然后在storyboard中拖动viewcontroller -> 拖动webview并在appdelegate中使用这个viewcontroller。
  • 基本上我想做这个家伙所做的事情:stackoverflow.com/questions/16158531/… 我将每个选项卡与不同的子 UIViewController 相关联,但是如何通过链接为每个选项卡添加 UIWebView?跨度>

标签: ios xamarin webview uiviewcontroller


【解决方案1】:

最简单的方法是使用故事板并将视图控制器类分配给您的选项卡。但是,如果您想以编程方式执行此操作,我想您需要执行以下操作:

    tab7 = new UIViewController();
    tab7.Title = "Test7";
    tab7.View.BackgroundColor = UIColor.Red;
    //Create a webview
    UIWebView webView = new UIWebView(View.Bounds); //Takes size as a constructor parameter
    //Set it's navigation location
    webView.Navigate(new URI("www.whatever.co.uk"));
    //Add the webview to the subviews of your UIViewController
    tab7.View.AddSubview(webView);

您会为每个标签执行此操作。

另一方面,值得一提的是,Apple 向其商店提交应用程序的指南确实倾向于不赞成只是网站表示的应用程序,因此值得牢记这一点。该应用程序必须能够比苹果网络浏览器做更多的事情。

【讨论】:

  • 刚试过,当我声明 UIWebView 时,它说“默认构造函数初始化这个类的新实例,没有参数”。
  • 抱歉,我的错误,我忘记了 webview 将大小作为其构造函数的参数,我已经修改了我的答案,所以它现在应该可以正常工作了。
  • 感谢您的帮助,但在导航上,我收到错误“UIWebView”不包含“导航”和“URI”的定义,我得到的类型或命名空间“URI”不能发现..现在会尝试用谷歌搜索这些问题,但如果你知道解决这些问题的方法,请告诉我。感谢您迄今为止的帮助!
  • 通过这样做得到它的工作:developer.xamarin.com/recipes/ios/content_controls/web_view/… .. 感谢您的想法!
猜你喜欢
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多