Xamarin.ios 带有UIButton和UILabel的自定义TableView单元格

Xamarin.ios 带有UIButton和UILabel的自定义TableView单元格,xamarin.ios,Xamarin.ios,第一个问题: 我有一个自定义TableViewCell,其中有一个标签和两个按钮 public override void ViewDidLoad () { base.ViewDidLoad (); this.btnChecked.TouchUpInside+= HandleBtnCheckedhandleTouchUpInside; this.btnNotChecked.TouchUpInside += HandleBtnNotCheckedhandleTouc

第一个问题: 我有一个自定义TableViewCell,其中有一个标签和两个按钮

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();    
    this.btnChecked.TouchUpInside+= HandleBtnCheckedhandleTouchUpInside;
    this.btnNotChecked.TouchUpInside += HandleBtnNotCheckedhandleTouchUpInside;
}
以下是事件

void HandleBtnNotCheckedhandleTapGestureRecognizerDelegateTouchUpInside (object sender, EventArgs e)
    {
        Console.WriteLine("ButtonClicked");
    }
但是如果我单击UITableCell中的UIButton,我的事件将不会引发


第二个问题:如何在代码隐藏中更改UILabel的字体大小?

为什么不这样做:

this.btnChecked.TouchUpInside += (sender, e) => 
{
    HandleButtonMethod();
};

void HandleButtonMethod()
{
   Console.WriteLine("ButtonClicked");
}
label.Font = UIFont.FromName("Arial", 20);
要更改标签的颜色,请执行以下操作:

this.btnChecked.TouchUpInside += (sender, e) => 
{
    HandleButtonMethod();
};

void HandleButtonMethod()
{
   Console.WriteLine("ButtonClicked");
}
label.Font = UIFont.FromName("Arial", 20);

我找到了解决办法。但我觉得这不太好

我做了一个自定义的TableCell类

public partial class CSTableCell : UIViewController
在我的DataSource类中,我重写了GetCell()方法

现在我的TouchUpInsideEvent开始工作了


但我不确定这是否是一个好的解决方案。为什么这个事件在我的TableCell类中不起作用???

好的,现在更改标签字体可以了,但是这些事件不起作用。你是如何在单元格中放置按钮的?您是否将其添加为子视图?尝试这样做:在GetCell中,像cell.ContentView.AddSubview(controller.yourbutton)一样配置单元格。我在Interface Builder中构建了它,就像本教程一样:我通常通过编码来实现。试着把你的元素放到一个结构中,然后试着调用这个结构。你能告诉我如何通过编码来实现吗?它需要是一个带有两个UIButton和一个UILabel的TableCell