【发布时间】:2011-04-18 22:28:32
【问题描述】:
我的应用程序需要一个自定义选项卡切换视图,因此我制作了一个带有 UIScrollView 和 UITabBar 的 .xib。
我向 UIScrollView 添加了一个“ClearChildren”和一个“SwitchViews”方法,如下所示:
public static class Extensions
{
#region UIScrollView extensions
public static void ClearChildren (this UIScrollView scrollViewer)
{
foreach(var subview in scrollViewer.Subviews)
{
subview.RemoveFromSuperview();
}
}
/// <summary>
/// switches the content views of a UIScrollView entirely
/// with for example a tab-bar.
/// </summary>
/// <param name="scrollViewer">
/// A <see cref="UIScrollView"/>
/// </param>
/// <param name="newView">
/// A <see cref="UIView"/>
/// </param>
public static void SwitchViews (this UIScrollView scrollViewer, UIView newView)
{
scrollViewer.ClearChildren();
scrollViewer.AddSubview(newView);
//reset content size
scrollViewer.ContentSize = new System.Drawing.SizeF(newView.Bounds.Width, newView.Bounds.Height);
}
#endregion
}
但是,当我使用 someUiScrollView.SwitchViews(someOtherScrollView) 切换 UIScrollView 上的视图时
UIScrollView 突然失去滚动条,允许水平和垂直滚动。
如何确保 UIScrollView 的水平和垂直滚动行为不会改变,并保持滚动条可见?
【问题讨论】:
标签: c# iphone c#-4.0 mono xamarin.ios