gpt4 book ai didi

ios - xamarin.iOS垂直滚动图像

转载 作者:行者123 更新时间:2023-12-01 20:05:46 25 4
gpt4 key购买 nike

我正在尝试在Xamarin.iOS中构建UI,该UI允许用户垂直滚动图像列表。我不确定最好的方法是什么。我已经看过使用UITableViewSource了,但是我不确定这是否是最好的方法。

我要显示的数据实际上不是表格形式,而只是图像列表。有没有一种方法可以使UITableViewSource成型为仅显示与屏幕一样宽的图像,从而允许用户向下滚动它们。

还是一种更好的方法是添加ScrollView并向其中添加图像,从而允许用户向下滚动scrollView?

任何建议或代码示例将不胜感激。

最佳答案

您可以使用UITableView来实现所需的功能,这是一个示例。

首先,您可以像这样调用示例代码:

public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.

List<string> dataList = new List<string> ();
for (int i = 0; i < 20; i++) {
//Make sure all images is already in the Resources folder
dataList.Add ("test.png");
}

UITableView myTalbeView = new UITableView ();
myTalbeView.RowHeight = 80;
myTalbeView.Frame = UIScreen.MainScreen.Bounds;
myTalbeView.AllowsSelection = false;//If you don't want any image be selected, use it.
myTalbeView.SeparatorStyle = UITableViewCellSeparatorStyle.None;//remove the under line
myTalbeView.Source = new MyTableViewSource (dataList);//set source for tableView
this.View.AddSubview (myTalbeView);
}

这是MyTableViewSource.cs:
public class MyTableViewSource : UITableViewSource
{
private static string cellReuseID = "MyTalbeCell";
private List<string> dataList;

public MyTableViewSource(List<string> _dataList)
{
this.dataList = _dataList;
}

public override nint RowsInSection (UITableView tableview, nint section)
{
return dataList.Count;
}

public override UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath)
{
MyTableCell cell = tableView.DequeueReusableCell (cellReuseID) as MyTableCell;
if (null == cell)
cell = new MyTableCell (UITableViewCellStyle.Default, cellReuseID);
cell.ImageName = dataList [indexPath.Row];
return cell;
}
}

这是MyTalbeCell.cs:
public class MyTableCell : UITableViewCell
{
private UIImageView imageView;

private string imageName = "";
public string ImageName{
get{
return imageName;
}
set{
imageName = value;
imageView.Image = UIImage.FromFile (imageName);
}
}

public MyTableCell (UITableViewCellStyle style,string reuseID) : base(style,reuseID)
{
imageView = new UIImageView ();
this.AddSubview (imageView);
}

public override void LayoutSubviews ()
{
imageView.Frame = this.Bounds;
}
}

希望它能对您有所帮助。

如果您仍然需要帮助,请将问题留在这里,我会检查一下。

关于ios - xamarin.iOS垂直滚动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38876155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com