UIRefreshControl在iOS 10下面没有显示带有DialogViewController的Xamarin

时间:2017-09-21 11:35:07

标签: ios xamarin xamarin.ios uirefreshcontrol dialogviewcontroller

我是Xamarin iOS开发的新手,我们有一个遗留代码,他们使用DialogViewController创建了所有的tableview。 ViewController层次结构如下:从ABC和ABC派生的PQR派生自DialogViewController。现在我想为PQR视图控制器显示refreshControl,该控制器保存ABC的对象。

我在PQR视图控制器中创建了一个ABC视图控制器的对象。

        abcDVC = new ABCDVC (this);
        tableRefreshControl = new UIRefreshControl ();

        if (IsIOS10OrGreater)
            abcDVC.RefreshControl = tableRefreshControl;

        tableRefreshControl.ValueChanged += LoadNotesAsync;

我没有收到任何错误。但是当用户下拉表时,我的refreshControl不可见。它以前工作,现在停止工作。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

能够找出它的根本原因。 RefreshControl API适用于iOS 10及更高版本。所以要将refreshControl添加到iOS版本< iOS 10我们将refreshControl作为subView添加到UITableView。

    tableRefreshControl = new UIRefreshControl(); 
    tableRefreshControl.AddTarget((sender, args) =>  GetData(),  UIControlEvent.ValueChanged); 

    if (IsIOS10OrGreater)
    { 
       abcDVC.TableView.RefreshControl = tableRefreshControl; 
    } else { 
          TableView.AddSubview(tableRefreshControl); 
    }