在 Xamarin 中使用页面控件滚动图像



我尝试在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 的控制器)

  1. 创建一个UIPageviewController(父控制器),覆盖其GetNextViewController和GetPreviousViewController方法。
  2. 在此父控制器页中维护页码计数器。
  3. 我假设你会有一个列表
  4. 在 GetNextViewController 方法中,您将递增计数器并显示列表(页面无计数器)并返回 ImageViewController
  5. GetPreviousViewController 方法中,您将递减计数器并显示列表(页面无计数器)并返回 ImageViewController

希望这有帮助

最新更新