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);
}
}
}
}