在tableview上添加视图(UITableViewController)

Mit*_*hel 14 iphone uitableview xamarin.ios ios xamarin

情况:我有一个UITableViewController从服务异步加载一些数据.在此期间,我想在显示我的自定义指标和文本的表格视图上放置一个全屏(导航栏除外)视图.

问题:我面临的问题是当我的自定义视图(它有红色背景)放在UITableView上时,表视图的行会通过我的自定义视图显示(见下图).

我尝试过: 我尝试使用insertBelow及以上版本,但没有用.我也尝试过:tableview.Hidden = true,但由于某些原因,这也隐藏了自定义视图,如图2所示.

看行

Image1:出于某种原因,我可以看到线条投射了我的视线.

隐藏真实

图2:当使用hidden = true时,Tableview +自定义视图消失了.

我的代码:

        public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        UIView view = new UIView (new RectangleF (0, 0, this.TableView.Frame.Width, this.TableView.Frame.Height));
        view.BackgroundColor = UIColor.Red;

        this.TableView.AddSubview (view);

        TableView.Source = new SessionTableViewSource ();
    }
Run Code Online (Sandbox Code Playgroud)

sag*_*lgy 46

您可以使用self.navigationController.view视图添加子视图.


red*_*t84 33

问题是a的视图UITableViewController是a UITableView,因此您无法将子视图添加到表顶部的控制器.

我建议从a切换UITableViewControllerUIViewController包含a 的简单UITableView.这样,控制器主视图就是一个UIView包含表格的普通视图,您可以将子视图添加到主视图中UIView,它们将被放置在表格视图的顶部.

  • 如果不使用 UITableViewController 你会失去很多功能,所以最好选择另一个解决方案 (3认同)