如何在自定义选择器中选择元素

时间:2019-07-16 17:27:19

标签: ios xamarin.forms xamarin.ios custom-renderer

我修改了选择器,使其在文本较长时会中断,但是在尝试选择元素时遇到了麻烦。

尝试选择元素时,它总是返回第一个位置的元素

public class MyDelegate : UIPickerViewDelegate
    {
        List<string> sourceList = new List<string>();
        public MyDelegate(List<string> list)
        {
            sourceList = list;
        }
        public override void Selected(UIPickerView pickerView, nint row, nint component)
        {
            UILabel label = new UILabel();
            label.Text = sourceList[(int)row];
        }

        public override UIView GetView(UIPickerView pickerView, nint row, nint component, UIView view)
        {

                UILabel label = new UILabel();               
                contentView.AddSubview(label);
                label.Text = sourceList[(int)row];
                label.Lines = 4;
                label.TextAlignment = UITextAlignment.Center;            
                label.Font = UIFont.SystemFontOfSize(20);
                label.LineBreakMode = UILineBreakMode.TailTruncation;
                return label;
        }

    }
}
  public class CustomPickerRenderer : PickerRenderer
    {
        List<string> itemList; 
        protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
        {
            base.OnElementChanged(e);

            if (this.Control != null )
            {
                var element = (CustomPicker)this.Element;
                Picker picker = Element;
                //itemList = picker.Items.ToList();       
                UITextField uITextField = new UITextField();
                uITextField = Control;
                UIPickerView uIPickerView = uITextField.InputView as UIPickerView;
            }
        }
    }
}

0 个答案:

没有答案