Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Xamarin中使用页面控件滚动图像_Ios_Iphone_Xamarin.ios_Xamarin - Fatal编程技术网

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

Ios 在Xamarin中使用页面控件滚动图像,ios,iphone,xamarin.ios,xamarin,Ios,Iphone,Xamarin.ios,Xamarin,我尝试在Xamarin中编写应用程序,它使用页面控件切换图像,我将本文用作教程,但我无法滚动图像,在调试中,它不会在scrolled方法的断点处停止。 我的代码: public override void ViewDidLoad () { base.ViewDidLoad ();; scrollView.PagingEnabled = true; scrollView.ContentSize = new SizeF(scrollView.F

我尝试在Xamarin中编写应用程序,它使用页面控件切换图像,我将本文用作教程,但我无法滚动图像,在调试中,它不会在scrolled方法的断点处停止。 我的代码:

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);

    }
public覆盖void ViewDidLoad()
{
base.ViewDidLoad();;
scrollView.PaginEnabled=true;
scrollView.ContentSize=新的SizeF(scrollView.Frame.Width*2,scrollView.Frame.Height);
scrollView.ShowsHorizontalScrollIndicator=false;
scrollView.ShowsVerticalScrollIndicator=false;
scrollView.ScrollsToTop=false;
scrollView.Scrolled+=委托
{
var pageWidth=scrollView.Frame.Size.Width;
var page=(int)Math.Floor((scrollView.ContentOffset.X-pageWidth/2)/pageWidth)+1;
pageControl.CurrentPage=页面;
};
var pic=新UIImage(“first.png”);
var img=新的UIImageView(pic);
var pic2=新的UIImage(“second.png”);
var img2=新的UIImageView(pic2);
var imageArray=newuiimageview[]{img,img2};
对于(变量i=0;i<2;i++){
矩形框架=新矩形框架();
frame.X=scrollView.frame.Size.Width*i;
帧Y=0;
frame.Size=scrollView.frame.Size;
imageArray[i]。帧=帧;
scrollView.AddSubview(imageArray[i]);
}
scrollView.ContentSize=new SizeF(scrollView.Frame.Size.Width*2,scrollView.Frame.Size.Height);
}
此外,我还尝试创建自己的委托类并设置scrollView.delegate=new ScrollViewDelegate(此选项)

如果我使用故事板会有问题吗?联络检查员 对于滚动视图: 经销店: 委托-页控件 参考网点: scrollView第一视图控制器 对于页面控制: 参考网点:
delegate=滚动视图我已经做过一次了。您需要做的是: 您需要2个视图控制器

UIPageviewController*(父控制器)* ImageViewController(具有UIImageView的控制器)

  • 创建一个UIPageviewController(父控制器),覆盖其GetNextViewControllerGetPreviousViewController方法
  • 在此父控制器页中维护页码计数器
  • 我假设您会有一个列表
  • 在这里的GetNextViewController方法中,您将增加计数器,并显示列表(无计数器页)并返回ImageViewController
  • 在这里的GetPreviousViewController方法中,您将减少计数器,并显示列表(无计数器页)并返回ImageViewController

  • 希望这有帮助

    它是否位于另一个scrollview中?@choper否它位于view中,如view->scrollview->PageControl请查看此答案