自定义UITableViewCell按钮和选定行(iOS/Monotouch)
我在自定义的自定义UITableViewCell按钮和选定行(iOS/Monotouch),ios,uitableview,xamarin.ios,uibutton,Ios,Uitableview,Xamarin.ios,Uibutton,我在自定义的UITableViewCell中有一个“加载更多”按钮。我的表也使用委托。我想在单击此按钮时重新加载表数据。我注意到当我点击按钮时,什么也没发生。但是,当我单击按钮周围的区域(即实际单元格)时,代理将获得RowSelected事件。 我尝试使用SetSelected(true,false)从按钮的内部事件中,查看是否会为代理触发RowSelected事件,但没有 有人能告诉我如何使自定义表格单元格的按钮单击触发实际的行选择事件吗?如果这不是一个可行的选项,那么除了将按钮放在自定义表视
UITableViewCell
中有一个“加载更多”按钮。我的表也使用委托。我想在单击此按钮时重新加载表数据。我注意到当我点击按钮时,什么也没发生。但是,当我单击按钮周围的区域(即实际单元格)时,代理将获得RowSelected事件。
我尝试使用SetSelected(true,false)
从按钮的内部事件中,查看是否会为代理触发RowSelected事件,但没有
有人能告诉我如何使自定义表格单元格的按钮单击触发实际的行选择事件吗?如果这不是一个可行的选项,那么除了将按钮放在自定义表视图单元格中之外,还有更好的方法“加载更多数据”吗
谢谢
更新:
我确实使用ContentView.AddSubView,如下代码所示。请注意,我使用的是Monotouch,但逻辑是相同的:
public LoadMoreCell (string reuseCellIdentifier)
:base(UITableViewCellStyle.Default, reuseCellIdentifier)
{
SelectionStyle = UITableViewCellSelectionStyle.None;
_btnLoadMore = UIButton.FromType(UIButtonType.RoundedRect);
_btnLoadMore.Frame = new RectangleF(10,5,300,30);
_btnLoadMore.SetTitle("Load More", UIControlState.Normal);
_btnLoadMore.UserInteractionEnabled = true;
ContentView.AddSubview(_btnLoadMore);
}
我有一个TableDelegate,它有一个RowSelected方法,我可以在其中重新加载数据…但是,只有在我单击实际行时才会触发RowSelected。我想您可能已经将uibutton添加为
[self addSubView:yourButton];
而是使用:-
[self.contentView addSubview:yourButton];
以及自定义单元格的所有其他控件。
在自定义单元格的初始值设定项中执行此操作:-
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {}
为表创建自定义UITableViewDataSource 当您点击“加载更多”按钮时,调用此数据源的一个方法将其他数据添加到数据源列表中,将此数据源添加到表中,并确保重新加载表的数据
this.tblData.ReloadData ();
是否覆盖了layoutSubViews方法?