Мне потребовалось настраиваемое представление для переключения вкладок для моего приложения, поэтому я создал .xib с UIScrollView и UITabBar.
Я добавил метод ClearChildren и SwitchViews в UIScrollView следующим образом:
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
}
однако, когда я переключаю представления на UIScrollView, используя someUiScrollView.SwitchViews(someOtherScrollView)
UIScrollView внезапно теряет полосы прокрутки и допускает горизонтальную и вертикальную прокрутку.
как мне убедиться, что горизонтальная и вертикальная прокрутка UIScrollView не меняются, и чтобы мои полосы прокрутки были видны?