2017-02-15 4 views
-1

Eigentlich möchte ich nur zwei Zeilen in UIPickerView mit mehr als 2 Daten zeigen. Wenn der Benutzer also hoch/runter scrollt, kann der Benutzer nur zwei Zeilen anzeigen.Wie werden nur 2 Zeilen UIPickerView angezeigt?

Erste Idee mehr, was ich will von unten Bild zu sehen:

enter image description here

ich unten Code versucht haben

var pickerDataSource = ["1", "2", "3", "4","5","6", "7", "8", "9","10","11","12"]; 
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView 
{ 
    var label = view as! UILabel! 
    if label == nil { 
     label = UILabel() 
    } 
    let titleData : String? 


    titleData = pickerDataSource[row] 
    if row == pickerView.selectedRowInComponent(0) 
    { 
     let myTitle = NSAttributedString(string: titleData!, attributes: [NSFontAttributeName: UIFont(name:"Montserrat-Regular", size: 16.0)!,NSForegroundColorAttributeName:UIColor.lightGrayColor()]) 
     label.attributedText = myTitle 
    } 
    else 
    { 
     let myTitle = NSAttributedString(string: titleData!, attributes: [NSFontAttributeName: UIFont(name:"Montserrat-Regular", size: 16.0)!,NSForegroundColorAttributeName:UIColor.redColor()]) 
     label.attributedText = myTitle 
    } 
    label.textAlignment = .Center 
    return label 

} 

Dies wird die Farbe der Zeile ändern, aber, wie ich nur gesetzt, zwei Reihen.

Gibt es eine Möglichkeit, das zu erreichen?

+1

Eine Auswahlansicht zeigt so viele Zeilen wie in der Ansicht angezeigt werden kann. Ihre einzige Option besteht darin, dem Pflücker zu sagen, dass Ihre Reihen wirklich groß sind. – rmaddy

+0

@rmaddy, wie die untere Reihe zu verbergen, muss die untere Zeile der ausgewählten Zeile ausblenden –

Antwort

0

Sie können nicht zwischen zwei Zeilen blättern, wenn Sie viele Daten haben. Aber ich habe eine DLPickerView implementiert, können Sie den Scrollbereich mit dieser Auswahlansicht steuern.

Verwandte Themen