using System; using UIKit; using Shared.IO; namespace Shared { /// /// 位置布局 /// public class HorizontalScrolViewLayout:ViewGroup { /// /// 构造函数 /// public HorizontalScrolViewLayout() { viewGroup = new MyUIScrolView(this); realViewGroup = viewGroup; } /// /// 增加子视图 /// /// The chidren. /// View. public override void AddChidren(View view) { base.AddChidren(view); ReLocation(); } /// /// 重新排位置及设备内容大小 /// public virtual void ReLocation() { if (0 == viewList.Count) { return; } for (int i = 1; i < viewList.Count; i++) { var frame = viewList[i].RealView.Frame; frame.X = viewList[i - 1].RealView.Frame.Right; viewList[i].RealView.Frame = frame; } (realViewGroup as MyUIScrolView).ContentSize = new CoreGraphics.CGSize(viewList[viewList.Count - 1].Right <= Width ? Width + 1 : viewList[viewList.Count - 1].Right,0); } /// /// 移除所有的视图 /// public override void RemoveAll() { base.RemoveAll(); ReLocation (); } /// /// 移除控件 /// /// View. public override void Remove(View view) { base.Remove(view); ReLocation (); } /// /// 移除指定索引对象 /// /// Index. public override void RemoveAt(int index) { base.RemoveAt(index); ReLocation (); } /// /// 是否允许滑动 /// /// true if scroll enabled; otherwise, false. public bool ScrollEnabled { get { return (viewGroup as MyUIScrolView).ScrollEnabled; } set { (viewGroup as MyUIScrolView).ScrollEnabled = value; } } /// /// 是否正在滑动 /// /// true if decelerating; otherwise, false. public bool Decelerating { get { return (viewGroup as MyUIScrolView).Decelerating; } } } }