2012-05-24 1 views
2

을 선택할 때 충돌 내 UIPickerView 않습니다.이유는 GitHub의 <a href="https://github.com/Nytrm/TextfieldUIPickerView" rel="nofollow">Github link</a></p> <p>행을 클릭하거나 충돌 할 UIPickerView 스크롤 노력에 샘플을 만들었으며 내가 왜 궁금

// create a ActionSheet 
var actionPickerSheet = new UIActionSheet("Select a Category"); 
actionPickerSheet.Style = UIActionSheetStyle.BlackTranslucent; 
// Create UIpickerView 
var catPicker = new UIPickerView(){ 
    Model = new catPickerModel(), 
    AutosizesSubviews = true, 
    Hidden = false, 
    ShowSelectionIndicator = true 
}; 
// show inside view and add the catPicker as subView 
actionPickerSheet.ShowInView(View); 
actionPickerSheet.AddSubview(catPicker); 
// resize both views so it fits smoothly 
actionPickerSheet.Frame = new RectangleF(0,100,320,500); 
catPicker.Frame = new RectangleF(actionPickerSheet.Frame.X,actionPickerSheet.Frame.Y-25,actionPickerSheet.Frame.Width, 216); 

그리고 모델

private class catPickerModel : UIPickerViewModel 
{ 
    public string[] protocolNames = new string[] 
    { 
     "Web", "Phone Call", "Google Maps", "SMS", "Email" 
    }; 

    public override int GetComponentCount(UIPickerView uipv) 
    { 
     return 1; 
    } 

    public override int GetRowsInComponent(UIPickerView uipv, int comp) 
    { 
     //each component has its own count. 
     int rows = protocolNames.Length; 
     return(rows); 
    } 

    public override string GetTitle(UIPickerView uipv, int row, int comp) 
    { 
     //each component would get its own title. 
     return protocolNames[row]; 
    } 

    public override void Selected(UIPickerView uipv, int row, int comp) 
    { 
     Console.WriteLine("selected:" + row); 
    } 

    public override float GetComponentWidth(UIPickerView uipv, int comp) 
    { 
     return 300f; 
    } 
} 

나는 내가 모델에 실종 몇 가지 방법, 그것은 충돌 계속 왜 아무 생각이 아니면 내가 잘못된 방법으로이 작업을 수행하려고?

감사

+1

스택 추적과 같은 충돌 자체에 대한 정보를 추가하십시오. – poupou

답변

3

시도는 catPicker 클래스의 private 변수를 만들려면 : GC가 당신의 catPicker를 수집하고 그것을 배치 된 것처럼

namespace TextfieldUIPickerView 
{ 
    public partial class TextfieldUIPickerViewViewController : UIViewController 
    { 
     private UIPickerView catPicker; 
... 

보인다.

+0

고마워요! 그것을 고쳤다. – nytrm

+0

올바른 답을 수락 된 것으로 표시하는 것을 잊지 마십시오. – Lars