xamarin.iOS Faites défiler verticalement les images

Je tente de build une interface user dans Xamarin.iOS qui permet à un user de faire défiler verticalement une list d'images. Je ne sais pas quelle serait la meilleure approche. J'ai regardé en utilisant UITableViewSource mais je ne suis pas sûr si ce serait la meilleure approche.

Les données que je veux afficher ne sont pas vraiment tabulaires ce n'est qu'une list d'images. Existe-t-il un moyen de modéliser UITableViewSource pour afficher simplement une image aussi large que l'écran, permettant à l'user de la faire défiler vers le bas.

Ou une meilleure approche serait d'append un ScrollView et d'append des images à cela permettant à un user de simplement faire défiler le scrollView?

Tout conseil ou échantillon de code serait grandement apprécié.

Vous pouvez utiliser UITableView pour implémenter ce dont vous avez besoin, ceci est un exemple.

Au début, vous pouvez appeler l'exemple de code comme ceci:

public override void ViewDidLoad () { base.ViewDidLoad (); // Perform any additional setup after loading the view, typically from a nib. List<ssortingng> dataList = new List<ssortingng> (); 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); } 

Et voici MyTableViewSource.cs:

 public class MyTableViewSource : UITableViewSource { private static ssortingng cellReuseID = "MyTalbeCell"; private List<ssortingng> dataList; public MyTableViewSource(List<ssortingng> _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; } } 

Et voici MyTalbeCell.cs:

 public class MyTableCell : UITableViewCell { private UIImageView imageView; private ssortingng imageName = ""; public ssortingng ImageName{ get{ return imageName; } set{ imageName = value; imageView.Image = UIImage.FromFile (imageName); } } public MyTableCell (UITableViewCellStyle style,ssortingng reuseID) : base(style,reuseID) { imageView = new UIImageView (); this.AddSubview (imageView); } public override void LayoutSubviews () { imageView.Frame = this.Bounds; } } 

Espérons que cela peut vous aider.

Si vous avez encore besoin d'aide, laissez la question ici, je vais vérifier par la suite.