我尝试在Xamarin中编写应用程序,该应用程序使用页面控制来切换图像,我将本文用作教程 http://iosmadesimple.blogspot.ru/2013/01/page-control-for-switching-between-views.html 但我无法滚动图像,并且在调试中它不会在滚动方法中的断点处停止。我的代码:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();;
scrollView.PagingEnabled = true;
scrollView.ContentSize = new SizeF(scrollView.Frame.Width * 2,scrollView.Frame.Height);
scrollView.ShowsHorizontalScrollIndicator = false;
scrollView.ShowsVerticalScrollIndicator = false;
scrollView.ScrollsToTop = false;
scrollView.Scrolled += delegate
{
var pageWidth = scrollView.Frame.Size.Width;
var page = (int)Math.Floor((scrollView.ContentOffset.X - pageWidth / 2) / pageWidth) + 1;
pageControl.CurrentPage = page;
};
var pic = new UIImage ("first.png");
var img = new UIImageView (pic);
var pic2 = new UIImage ("second.png");
var img2 = new UIImageView (pic2);
var imageArray = new UIImageView[]{img,img2};
for (var i = 0; i < 2; i++) {
RectangleF frame = new RectangleF ();
frame.X = scrollView.Frame.Size.Width * i;
frame.Y = 0;
frame.Size = scrollView.Frame.Size;
imageArray [i].Frame = frame;
scrollView.AddSubview (imageArray[i]);
}
scrollView.ContentSize = new SizeF(scrollView.Frame.Size.Width*2,scrollView.Frame.Size.Height);
}
我也尝试创建自己的委托类并设置 scrollView.Delegate = new ScrollViewDelegate(this)。
如果我使用故事板会有问题吗?连接中检查器对于滚动视图:网点:委托 - 页面控件参考网点:滚动视图第一视图控制器对于页面控件:参考网点:委托 = 滚动视图
我已经做过一次了。您需要做的是:您需要 2 个视图控制器,
UIPageviewController*(parent controller)* ImageViewController(具有 UIImageView 的控制器)
- 创建一个UIPageviewController(父控制器),覆盖其GetNextViewController和GetPreviousViewController方法。
- 在此父控制器页中维护页码计数器。
- 我假设你会有一个列表
- 在 GetNextViewController 方法中,您将递增计数器并显示列表
(页面无计数器)并返回 ImageViewController - 在 GetPreviousViewController 方法中,您将递减计数器并显示列表
(页面无计数器)并返回 ImageViewController
希望这有帮助