私のアプリは下の画像のようになります。PageMenu View Controllerを動的に(プログラム的に)追加する方法は?
私はPageMenuを使用してこの結果を得ています。データはWeb APIから取得されます。 Web APIが応答する日数に基づいてビューコントローラを動的に作成し、毎日ビューコントローラを持ち、その日のスケジュールを表示できるようにしたいと思います。どうすればこれを達成できますか?
私のアプリは下の画像のようになります。PageMenu View Controllerを動的に(プログラム的に)追加する方法は?
私はPageMenuを使用してこの結果を得ています。データはWeb APIから取得されます。 Web APIが応答する日数に基づいてビューコントローラを動的に作成し、毎日ビューコントローラを持ち、その日のスケジュールを表示できるようにしたいと思います。どうすればこれを達成できますか?
は、あなたはそれが持っている自分自身を提供[dailyModel]
返す関数を持っています。そのdailyModel
て次に
struct dailyModel {
let programStartingTime : String // 6:45
let item : [item] // [(Maghrib & Isha Prayer, 20, 0),(Ziarat-e-Ashura, 20, 1), ...otherItems...]
}
struct item{
let duration : Int? //minutes
let name : String // Maghrib and Isha prayers
let row : Int? // 0
}
ループとチュートリアルがやっているよう & がのViewController、その後append
それらのそれぞれを移入インスタンス化そのパラメータを使用して: あなたdailyModelは、次のようになります。
これは最善のコードではありませんが、私はあなたがそのアイデアを得ることを願っています。
単に同じコントローラを複数回追加したループを作成します。私はaddPageMenu
関数を作成しました。あなたが応答を受け取ったときにそれを呼んでください。
// Array to keep track of controllers in page menu
var controllerArray : [UIViewController] = []
// Create variables for all view controllers you want to put in the
// page menu, initialize them, and add each to the controller array.
// (Can be any UIViewController subclass)
// Make sure the title property of all view controllers is set
// Example:
var controller : UIViewController = UIViewController(nibName: "controllerNibName", bundle: nil)
controller.title = "SAMPLE TITLE"
controllerArray.append(controller)
だから、あなたがしなければならないものです::リンクから読ん
func addPageMenu(count: Int) {
var controllerArray : [UIViewController] = []
for i in count {
var controller : UIViewController = UIViewController(nibName: "controllerNibName", bundle: nil)
if i == 0 {
controller.title = "SUNDAY"
} else if i == 1 {
controller.title = "MONDAY"
}...
controllerArray.append(controller)
}
let pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: CGRectMake(0.0, 0.0, self.view.frame.width, self.view.frame.height), pageMenuOptions: parameters)
// Lastly add page menu as subview of base view controller view
// or use pageMenu controller in you view hierachy as desired
self.view.addSubview(pageMenu!.view)
}
素晴らしい。ありがとう! –
@AliMirか、おそらくあなたのアイテムは**実際の時間**つまり* 6:15 PM *(期間と行ではなく)*ソート([この回答](http://stackoverflow.com/a/34800848/5175709))あなたの 'item'は時刻に基づいており、それらをリストします。以前の日付で作業していませんでしたが、WebAPIが文字列形式で返されると仮定しています。後でNSON形式に変換してからJSON形式の辞書形式であればソートしてください配列形式を使用すると、心配する必要はなく、ループして項目の時間と名前を印刷することができます。 – Honey