0

現在、Swift で iOS 用の使いやすいフォーム ジェネレーターであるEurekaを使用しようとしています。

1 つのことを除いて、すべてが順調に進んでいます。

example/InlineRows/PickerInlineRowのサンプルアプリのように、カスタム PickerinlineRow を設計する方法

そこで使用されるコードは次のとおりです。

<<< PickerInlineRow<NSDate>("PickerInlineRow") { (row : PickerInlineRow<NSDate>) -> Void in

    row.title = row.tag
    row.displayValueFor = {
        guard let date = $0 else{
        return nil
    }
    let year = NSCalendar.currentCalendar().component(.Year, fromDate: date)
        return "Year \(year)"
    }

    row.options = []
    var date = NSDate()
    for _ in 1...10 {
        row.options.append(date)
        date = date.dateByAddingTimeInterval(60*60*24*365)
    }
    row.value = row.options[0]
}

私がやりたいのは、同じ種類の InlinePicker ですが、ユーザーが月と年の 2 つを選択できるようにすることです。問題は、上記のコードのロジックを理解していないことです。どの var が何に役立つのか。

私の現在の試みはすべて完全に機能していません..何か考えがあれば。

4

1 に答える 1

2

これには、カスタム ピッカーを作成する必要があります。

上記の Pi​​ckerInlineRow では、row.title は行の左側に表示されるタイトルであり、displayValueForブロックは行の右側に表示される値を定義するために使用されます。

ピッカーに表示されるオプションは次のrow.optionsとおりです。あなたの場合、追加する月ごとに 1 つのオプションがあります。

最後にrow.value、ユーザーが選択したものを取得するために使用できる行の値です。また、それに応じて更新する必要があります。

于 2015-11-12T17:13:08.133 に答える