2012-05-18 183 views
2

我有一個'加載更多'UIButton自定義內UITableViewCell。我的桌子也使用委託。我想在單擊此按鈕時重新加載表格數據。我注意到,當我點擊按鈕時,沒有任何反應。但是當我點擊按鈕周圍的區域,即實際的單元格時,委託獲取RowSelected事件。 我嘗試使用SetSelected(true,false);從按鈕的觸摸內部事件,看看它是否會觸發委託的RowSelected事件,但它沒有。自定義UITableViewCell按鈕和RowSelected(iOS/Monotouch)

任何人都可以解釋我如何使一個自定義表單元格的按鈕點擊實際的行選擇事件?如果這不是一個可行的選擇,有沒有更好的方式來'加載更多的數據',而不是將按鈕放置在自定義表格視圖單元格內?

謝謝!

更新: 我確實使用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); 


    } 

我已經具有RowSelected方法,我重新加載數據的TableDelegate ......然而,RowSelected只有被炒魷魚當我點擊實際行。

+0

您重寫了layoutSubViews方法嗎? –

回答

1

我想你可能已經添加的UIButton作爲

[self addSubView:yourButton]; 

改用: -

[self.contentView addSubview:yourButton]; 

和所有的自定義單元格的其他控件。 在你的自定義單元格的初始化操作: -

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {} 
+0

請參閱上面的我的更新,我將它添加爲contentview。 –

0

使自定義UITableViewDataSource爲你的餐桌 ,當你按下按鈕「加載更多」,稱此數據源的方法向其他數據添加到數據源列表中,將此數據源添加到您的表格,並確保重新加載表格的數據

this.tblData.ReloadData();