Why UIRefreshControl jumping?

前端 未结 4 1980
花落未央
花落未央 2020-12-18 01:35

I try to use the UIRefreshControl with swift 1.2 and works fine except the UI. It is jumping and I dont know why. Here is what I am doing:

class ViewControll         


        
4条回答
  •  甜味超标
    2020-12-18 01:54

    For Xamarin.iOS it's looks like this:

    [Register ("MyViewController")]
    partial class MyViewController
    {
        [Outlet]
        public UITableView myTableView { get; set; }
    
        // ...
    }
    
    public partial class MyViewController : UIViewController
    {
        public UIRefreshControl myRefreshControl { get; set; }
    
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
    
            // ...
    
            this.myRefreshControl = new UIRefreshControl();
            this.myRefreshControl.AttributedTitle = new NSAttributedString("Load News from server...");
            this.myRefreshControl.AddTarget(this, new ObjCRuntime.Selector("RefreshSource"), UIControlEvent.ValueChanged);
    
            #region Fix the Jump problem
            UITableViewController tableViewController = new UITableViewController();
            tableViewController.TableView = this.myTableView;
            tableViewController.RefreshControl = this.myRefreshControl;
            #endregion
    
            #region Fix the unwanted first showing
            this.myRefreshControl.BeginRefreshing();
            this.myRefreshControl.EndRefreshing();
            #endregion
    
            // ...
        }
    
        [Export("RefreshSource")]
        private async void RefreshSource()
        {
            #region Edit source data
            await Task.Run(() =>
                {
                    Thread.Sleep(3000);
                });
            #endregion
    
            this.myTableView.ReloadData();
            this.myRefreshControl.EndRefreshing();
        }
    }
    

提交回复
热议问题