2016-05-25 1 views
3

長いと紛らわしい質問が残念です。これは私のコードで2つの主な問題があります:1 - UINavigationControllerにviewControllerを埋め込み、barボタン項目を追加すると何も表示されませんが、pageViewControllerに追加すると表示されます。第二に、これを別に行う方法があるのだろうと思っていて、pageView(その中のすべてのViewControllerに表示される)上の一つのボタンを使用し、ボタンを押したときにユーザが見ていたものを特定し、別のviewcontroller 。Seguesを通過して、ユーザーがどのビューを表示していて、NavigationControllerボタンが表示されていないかを確認します。

私はページベースのアプリケーションを構築しようとしています。私は7つのビューコントローラ(毎週1つずつ)でアプリケーションをセットアップしました。私はその後、ユーザーが特定の日にデータを追加できるAddViewControllerを持っています。私は、他のすべてのviewControllersを埋め込み、バーボタンを追加したときに、PageViewController上でNavBarにリンクされた1つのaddViewのみを使用する方法があるかどうかはわかりませんでした。

pageViewControllerが埋め込まれているので、これはその上にバーボタンで表示されます。その後、

PageViewController Bar Button

これにつながる:しかし、私は、様々な配列(それぞれのViewControllerに1つ)にデータを渡すしたい、と私はどの知りたい、

うまく機能

Back

ユーザーが(何日前かに基づいて)追加したいViewController。これを特定してviewControllerを巻き戻し、適切な配列に適切なデータを追加する方法がありますか、またはdayViewControllerごとに1つのaddViewを追加する必要がありますか?その場合、navigationControllerに埋め込まれているときに、barボタンの項目がviewControllerに表示されないという問題を抱えています。それは次のようになります。

絵コンテ:(例:MondayViewController)

Storyboard

結果が欠落しているbarButtonです(それは見えるだろうので、私は白に色合いの色を変更するに注意してください)

enter image description here

誰もが私の問題のいずれかに対する答えを持っている場合、私は思っていた、そして再び、時間を割いてくれてありがとうは一つの問題で質問のこの配列を見て。

ご提案は大歓迎です!

ローワン、

+0

答えはありませんが....任意の曜日を表す1つのビューコントローラを持ち、日が変わったときに新しいデータのみを読み込むのは簡単ではないでしょうか?複数のコントローラは通常、コンテンツだけでなく、異なる可視構造を意味します。 「さまざまな配列へのデータの受け渡し」は、アプリケーションの状態を管理し、コントローラの参照として機能する1つのデータモデルオブジェクトを持つことで、よりうまく機能します。 –

+0

提案していただきありがとうございます。私は(あなたの言ったように)毎週の曜日(7)を表す1つのビューコントローラを持ち、データは同じクラスにありますが、簡単にするために、そのクラス内のデータのソースである別の配列を持っていますしかし、私は1つのデータモデルのアイデアが好きです。 collectionViewをリロードすることに関して、私の意図は、unwind segueが実行された後にそれをリロードすることだけです。 –

+0

実際に、私は1つずつではなく7日間すべてを処理する1つのView Controllerを提案していました。 (つまり、構造が同じで、コンテンツのみが変更された場合、1つのコントローラで任意の日を表すことができます)。これは、実際にページを必要としなかったことを意味します。 –

答えて

0

あなたはこれを行うことができます。

UINavigationViewControllerを作成し、それにUIPageViewControllerを埋め込みます。 UIPageViewController実装これらの2つの方法のデータソースで

ここ
- pageViewController:viewControllerBeforeViewController: 
- pageViewController:viewControllerAfterViewController: 

(あなたが最初/最後のページにある場合、またはnil)あなたの位置ごとにDayViewControllerの正しいインスタンスを返します。データモデルもここで設定されます。

UIPageViewControllerのナビゲーションバーに[追加]バーボタンを追加し、AddViewControllerをプッシュします。 AddViewControllerを押すと、現在表示されている日の情報が表示されます。あなたはおそらくこれをあなた自身のことを把握する必要があります。代理人UIPageViewController- pageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:メソッドを使用します。

関連する問題