2016-04-04 25 views
0

Üç sütun içeren bir UIPickerView istiyorum ama çalışmıyor. Hatayı bulamıyorum, birileri yardım edebilir.Üç sütun ile uipickerview - xamarin C#

enter image description here

static string[] nomesPeso = new string[] 
{ 
    "Back Squat", 
    "Front Squat", 
    "OHS - Overhead Squat" 
}; 

static string[] nomesUnidades = new string[] 
{ 
    "Reps", 
    "Kgs", 
    "Lbs", 
    "Metros" 
}; 

static string[] nomesRepeticoes = new string[] 
{ 
    "1 RM", 
    "2 RM", 
    "3 RM" 
}; 

public override nint GetComponentCount(UIPickerView v) 
{ 
    return 3; 
} 

public override nint GetRowsInComponent(UIPickerView pickerView, nint component) 
{ 
    switch (component) 
    { 
     case 0: 
      return nomesPeso.Length; 
     case 1: 
      return nomesRepeticoes.Length; 
     case 2: 
      return nomesUnidades.Length; 
     default: 
      throw new NotImplementedException(); 
    } 
} 

public override string GetTitle(UIPickerView picker, nint row, nint component) 
{ 
    switch (component) 
    { 
     case 0: 
      return nomesPeso[row]; 
     case 1: 
      return nomesRepeticoes[row]; 
     case 2: 
      return nomesUnidades[row]; 
     default: 
      throw new NotImplementedException(); 
    } 
} 

cevap

0

Sen UIPickerViewDelegate ait GetComponentWidth geçersiz kılarak sütun genişliğini ayarlayabilirsiniz:

class MyPickerViewDelegate : UIPickerViewDelegate 
{ 
    public override nfloat GetComponentWidth(UIPickerView pickerView, nint component) 
    { 
     // equal size for every column 
     return pickerView.Frame.Width/3; 
    } 
} 

ve sonra UIPickerView

myPickerView.Delegate = new MyPickerViewDelegate(); 
üzerinde ayarlayın Aşağıda kodudur

Bu kod sütunları eşit olarak dağıtır. Elbette her sütun için component parametresini kullanarak özel bir genişlik getirebilirsiniz.