2012-02-16 11 views
1

私が望むのは、admobの上に広告ビューがあり、リフレッシュするためにプルダウンするテーブルビューです。今私はtableheaderviewを使用していますが、それはスクロールして、私は広告を維持する必要があります。 viewforheaderはスクロールせず、セクションヘッダーに必要な標準ヘッダーを取り除きます。私がtableVCから継承している場合は、とにかくloadviewをオーバーライドして広告を保持する静的ビューを構築し、その下にtableviewを持つことはありますか?私はloadviewを書いてみましたが、広告を得ることができますが、tableviewをしようとすると、 "選択されたフレームを復元することができません"コンソールで取得します。私は非常に簡単に実装するための技術をリフレッシュするカルバーのプルを使用しています。私はtableVCを知っているルートビューがtableviewだと仮定して、どうすればそれを回避することができますか?ネット上のすべてのソリューションは、標準のUIViewControllerを使用しますが、これは私のloadViewメソッドであるサブビューとしてテーブルビューを追加する(あなたがUITableVCから継承する必要がある場合)

リフレッシュするためにプルのスタック原因をイム言う:

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 60, 320, 400) style:UITableViewStylePlain]; 
self.tableView.dataSource = self; 
self.tableView.delegate = self; 

[self.view addSubview:self.tableView]; 

答えて

2

あなたのビューコントローラがUIViewControllerから継承させるが、<UITableViewDataSource, UITableViewDelegate>を引き続き実施します。 UIViewControllerの組み込みのviewのサブビューとしてTableViewを追加し、データソースとデリゲートのFile's Ownerをポイントします。テーブルビューを高さの100%未満にして、メインビュー内の別のビューとして広告をテーブルの下/上に表示させます。

enter image description here

ソース:私は私のアプリケーションでこれを行うと、彼らは店にあります。

+0

お互いに正しく話すことができません。私はPullRefreshVCとMyVCを持っています。 PullRefreshVCにはUIVCにスーパークラスがあり、MyVCにはPullRefreshVCがあるため、自分の望むようにUIVCから継承します。 MyVCのviewdidloadでは、PullRefreshVCのviewdidloadが[super viewdidload]によって呼び出されます。その中で、あなたがテーブルビューをプルダウンするときに表示されるビューはセットアップされ、サブビューとして追加されます。しかし、self.tableviewに追加しようとすると表示されません。もし私がself.viewをすれば、私はそれを見ます。スーパークラスのself.tableviewを実際に画面に表示されるテーブルビューにするにはどうすればいいですか? – skinsfan00atg

1

お試しいただけることがたくさんあります。

誰もが言うように、UITableViewControllerから継承をやめることができます。 CulverのPullRefreshTableViewControllerを使用している場合は、サブクラスUIViewControllerに適応させてください。 tableViewプロパティを追加し、実行する場合はUITableViewDataSourceUITableViewDelegateのプロトコルを採用する必要があります。

表ビューのcontentInsetを上部に空けて、コントローラ内にscrollViewDidScroll:と定義して、各スクロールで適切に広告ビューの位置を変更することができます。 (UITableViewサブクラスUIScrollViewなので、定義するとUIScrollViewDelegateメソッドが呼び出されます)。

+0

ありがとうございます!私はUIViewControllerから継承するPullToRefreshヘッダーを変更し、を追加してからtableviewプロパティを追加しましたが、今や警告が表示されます。その不平PullToRefreshはcellforrowのようなtableviewメソッドのいくつかを実装していませんが、私は自分のビューコントローラ内にそれらを持っています。 コンテンツのインセットを試しましたが、クローバーの解決策で既に使用しているようです。 – skinsfan00atg

+0

警告をサイレントにするために、ダミーの 'tableView:cellForRowAtIndexPath:'メソッドを 'PullRefreshTableViewController'に追加できます。 –

+0

私はちょうどお互いに正しく話すことを得ることができません、お手伝いできますか?私はPullRefreshVCとMyVCを持っています。 PullRefreshVCはスーパークラスとしてUIVCを持ち、MyVCはPullRefreshVCを持っていますので、私の望むようにUIVCから継承します。 MyVCのviewdidloadでは、PullRefreshVCのviewdidloadが[super viewdidload]によって呼び出されます。その中で、あなたがテーブルビューをプルダウンするときに表示されるビューはセットアップされ、サブビューとして追加されます。しかし、self.tableviewに追加しようとすると表示されません。もし私がself.viewをすれば、私はそれを見ます。どのようにスーパークラスのself.tableviewを実際に画面に表示されているテーブルビューにすることができますか – skinsfan00atg

関連する問題