using System; using System.Collections.Generic; using Shared.IOS.TBL; using UIKit; namespace Shared { /// /// UICoverFlowView 已废弃,暂用HorizontalPages代替实现 /// public class UICoverFlowView : View { /// /// 当前视图 /// /// The UICoverFlowView. HDLCoverFlow mHDLCoverFlow { get { return uiView as HDLCoverFlow; } set { uiView = value; } } /// /// 构造函数 /// public UICoverFlowView() { mHDLCoverFlow = new HDLCoverFlow { //MChangedDelegate = new OnSelectChangeListener(this) }; Parents = new ViewGroup(); } /// /// 刷新布局 /// private void RefreshFrame() { mHDLCoverFlow.InitWithFrameArc(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height)); } /// /// 控件宽度 /// public override int Width { get { return base.Width; } set { base.Width = value; RefreshFrame(); } } /// /// 控件的高度 /// public override int Height { get { return base.Height; } set { base.Height = value; RefreshFrame(); } } /// /// 控件的X坐标 /// public override int X { get { return base.X; } set { base.X = value; RefreshFrame(); } } /// /// 控件的X坐标 /// public override int Y { get { return base.Y; } set { base.Y = value; RefreshFrame(); } } //public void setCurrentItems(int option1, int option2, int option3) //{ // mHDLCoverFlow.SetCurrentItems(option1, option2, option3); //} //public void setNPicker(List mFirstList, List mSecondList, List mThirdList) //{ // mHDLCoverFlow.SetNPicker(NSArray.FromObjects(mFirstList.ToArray()), NSArray.FromObjects(mSecondList.ToArray()), NSArray.FromObjects(mThirdList.ToArray())); //} UIView[] mAndroidViewsList; List viewList = new List(); private void UpdateViewsList() { mAndroidViewsList = new UIView[viewList.Count]; for (int i=0;i /// 设置或者获取当前的界面索引 /// /// The index of the page. public int PageIndex { get { return pageIndex; } set { if (value < 0 || viewList.Count < value) { return; } pageIndex = value; mHDLCoverFlow.SetCoverFlowSelectIndex(pageIndex); } } public void Remove(View view) { if (view == null) { return; } viewList.Remove(view); //realViewGroup.RemoveView(view.AndroidView); //view.Parent = null; //base.Remove(view); //UpdateViewsList(); } /// /// 父容器 /// /// The parent. ViewGroup Parents; /// /// 增加子控件 /// /// View. public void AddChidren(View view) { view.Parent = Parents; view.Refresh(); viewList.Add(view); //base.AddChidren(view); UpdateViewsList(); } /// /// 清空所有的控件 /// public void RemoveAll() { viewList.Clear(); //base.RemoveAll(); UpdateViewsList(); } /// /// 移除指定索引对象 /// /// Index. public void RemoveAt(int index) { if (GetChildren(index) != null) { viewList.Remove(GetChildren(index)); UpdateViewsList(); } //base.RemoveAt(index); //UpdateViewsList(); } /// /// 获取指定索引对象 /// /// The children. /// Index. public View GetChildren(int index) { if (viewList.Count - 1 < index || index < 0) { return null; } return viewList[index]; } //public Action OnSelectChangeEvent; public Action OnCoverFlowViewClickEvent; /// /// Action /// public Action OnSelectChangeEvent; /// /// OnSelectChangeListener 继承响应事件 /// OnSelectChangeListener mOnSelectChangeListener; public class OnSelectChangeListener : SelectItemDelegate { [Weak] UICoverFlowView _UICoverFlowView; public OnSelectChangeListener(UICoverFlowView view) { _UICoverFlowView = view; } public override void OnSelectItem(nint mSelectIndex) { _UICoverFlowView.OnSelectChangeEvent?.Invoke((int)mSelectIndex); } } } }