Xamarin.ios UIScrollView停止得太快了
我正在使用scrollview为我的应用程序创建一个图像库,我的应用程序基本上正常工作。它允许我一个接一个地滚动图片,但最后一张图片总是被截掉,我不知道为什么 这是操作的主要部分:Xamarin.ios UIScrollView停止得太快了,xamarin.ios,uiscrollview,Xamarin.ios,Uiscrollview,我正在使用scrollview为我的应用程序创建一个图像库,我的应用程序基本上正常工作。它允许我一个接一个地滚动图片,但最后一张图片总是被截掉,我不知道为什么 这是操作的主要部分: var idx=0; foreach(var mediateItem in _mediateItems) { var xPosition=UIScreen.MainScreen.Bounds.Width*idx; var imageView=new UIImageView(); SetImage(新的NSUrl(me
var idx=0;
foreach(var mediateItem in _mediateItems)
{
var xPosition=UIScreen.MainScreen.Bounds.Width*idx;
var imageView=new UIImageView();
SetImage(新的NSUrl(mediateItem),UIImage.FromBundle(“image_占位符”);
imageView.Frame=新的CGRect(xPosition,0,svGallery.Frame.Width+50,svGallery.Frame.Height);
imageView.ContentMode=UIViewContentMode.ScaleSpectFit;
svGallery.ContentSize=新的CGSize
{
宽度=svGallery.Frame.Width*(idx+1)
};
svGallery.AddSubview(imageView);
idx++;
}
减去这个缺陷,它工作得非常完美,正如我所期望的那样。从共享代码中,ContenSize的
宽度是:
Width = svGallery.Frame.Width * (idx + 1)
但是,ImageView
的每个Width
(svGallery.Frame.Width+50
)都大于vGallery.Frame.Width
:
imageView.Frame = new CGRect(xPosition, 0, svGallery.Frame.Width + 50, svGallery.Frame.Height);
因此,ContenSize
的实际Width
不能包含所有ImageView
的内容。如果ImageView的数量较大,则最后一张图片将被更多地截取
您可以按如下方式修改ContentSize
的Width
,以检查其是否工作:
svGallery.ContentSize = new CGSize
{
Width = (svGallery.Frame.Width + 50) * (idx + 1)
};