在Xamarin iOS中以编程方式绑定值到tableviewcell

本文关键字:绑定 tableviewcell 方式 编程 Xamarin iOS | 更新日期: 2023-09-27 18:15:35

我是Xamarin移动应用程序开发的新手。

添加新的文件到项目iOS Table View Controller,它创建了三个。cs文件到我的项目。

  1) CustomTableviewCell.cs
  2) CustomTableviewController.cs
  3) CustomTableViewSource.cs

在mainviewcontroller。cs这是UIViewController类已经解析的数据

 {
      "data": [
        {
          “Metr0”: {
            "id": "1",
            “companyName”: “demo Industry2”,
          }
        },
        {
          “Metro: {
            "id": “2”,
            “companyName”: "demo Industry",
         }
        },
     ]
    } 

我在MainViewController.cs中创建了CustomTableviewController.cs对象

    public MainViewController(){
     tableviewObject = new  CustomTableviewController ();
     tableviewObject.Frame = View.Frame;
    }
   View.AddSubView(tableviewObject);
定制CustomTableviewCell

using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace IOS
{
    public class CustomTableViewCell : UITableViewCell
    {
        UILabel headingLabel1;
        UILabel headingLabel2;
        UILabel headingLabel3;
        public static readonly NSString Key = new NSString ("CustomTableViewCell");
        public CustomTableViewCell () : base (UITableViewCellStyle.Value1, Key){
            headingLabel1 = new UILabel () {
                Text = "value",
                Frame = new RectangleF(20, 10, ContentView.Bounds.Width - 63, 12),
                Font = UIFont.FromName("Cochin", 12f),
                TextColor = UIColor.FromRGB (127, 51, 0),
                BackgroundColor = UIColor.Clear
            };
            ContentView.Add (headingLabel1);

可以有人建议我绑定companyName到CustomTableViewCell通过发送数据从UIviewcontroller到uitableviewcontroller。

在Xamarin iOS中以编程方式绑定值到tableviewcell

您创建单元格并在UITableViewSource类中填充数据。在控制器中,实例化Source类并将其分配给TableView的Source属性。您可能希望将底层数据源(即JSON数据)传递给source类。

在Source类中,需要重写(至少)三个方法。

// how many rows are in each section
public override int RowsInSection (UITableView tableview, int section)
// how many sections are there?
public override int NumberOfSections (UITableView tableView)
// for each row, build the cell, and assign it's data
public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)

Xamarin有很多关于tableview的文档