2016-05-24 6 views
3

私は自分のプロジェクトにUITableViewControllerを持っていて、 "リフレッシュ"をストーリーボードで有効に設定しました。しかし、その出口はゼロです。私はそれがnilであるviewcontrolelrへのストーリーボードからカスタム流出させる場合であっても、このUITableViewControllerリフレッシュコントロールはゼロです

self.refreshControl 

のようにそれを使用して

。 私のプロジェクト内の他のテーブルビューでも機能します。

私はおそらく逃したものはありますか?

+1

このプロパティのデフォルト値はnilです。 UIRefreshControlをインスタンス化してそれが存在する前にself.refreshControlに割り当てる必要があります。 – Dare

+0

しかし、他のビューコントローラでこれを行う必要はありませんか?私はちょうどそれをストーリーボードで有効にしておきました。これは、UiTableviewControllerを使用するときに実行される方法です。しかし、それはちょうどこの特定のケースでは、奇妙ではないし、私は何かを逃したかもしれないと思う。 – user2529173

答えて

4

あなたはストーリーボードファインで作成しました。ストーリーボードから一度削除してもう一度追加してみてください。

はその後self.refreshControl = UIRefreshControl()

など、あなたのviewDidLoad方法

にあなたはそれが簡単になり、プログラムで作成できることを開始します。 viewDidLoadで

一つのグローバルプロパティを作成

var refreshControl : UIRefreshControl? 

これはあなたの問題を解決します

self.refreshControl = UIRefreshControl() 

if let refreshControl = self.refreshControl{ 
    refreshControl.addTarget(self, action: #selector(viewCtrl.refresh(_:)), forControlEvents: UIControlEvents.ValueChanged) 
    self.Tableview.addSubview(refreshControl) 
} 

を追加します。

+0

はい、それについて考えました。しかし、私は自分自身で活動インジケータを行う必要があります。私はなぜそれが動作していないのか知りたがっています...しかし、ありがとう、私はこれを行うだろうと思います – user2529173

+0

アクティビティインジケータもprogramatically同じ方法で行うことができます。 – karthik

2

ストーリーボードでTableViewControllerを選択して、リフレッシュを有効にします。添付の画像に示されているとおりです。これが助けてくれるといいなあ

Storyboard attribute inspector image

関連する問題