ImageCell与xamarin.forms中的配件

时间:2015-07-21 02:54:15

标签: c# xamarin.ios xamarin.forms

我想在iPhone上的设置中使用带附件的ImageCells(右箭头)构建一个TableView。 但不确定如何实现它。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

对Xamarin.Forms ImageCell进行子类化,为您的子类创建一个CustomRenderer,并在Renderer的GetCell方法中将iOS UITableViewCell的Accessory设置为DisclosureIndicator。

编辑7/21(添加示例代码)

<强> MyImageCell.cs

using Xamarin.Forms;

namespace ProjectName
{
    public class MyImageCell : ImageCell
    {
        public bool ShowDisclosure { get; set; }
    }
}

<强> MyImageCellRenderer.cs

using ProjectName;
using ProjectName.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly:ExportRenderer(typeof(MyImageCell), typeof(MyImageCellRenderer))]
namespace ProjectName.iOS
{
    public class MyImageCellRenderer : ImageCellRenderer
    {
        public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
        {
            var c = base.GetCell(item, reusableCell, tv);
            var view = (MyImageCell)item;
            c.Accessory = view.ShowDisclosure
                ? UITableViewCellAccessory.DisclosureIndicator
                : UITableViewCellAccessory.None;
            return c;
        }
    }
}