我有一個tableview有幾個自定義單元格。第一個是一個按鈕。當按下此按鈕時,我想滾動到我的tableview中的某個部分。我該如何將按鈕動作與tableview連接起來?scrollToRowAtIndexPath當按下里面的UITableViewCell按鈕
1
A
回答
1
你可以讓你的電池的按鈕屬性,並在cellForRowAtIndexPath
可以設置目標加載表中的類查看,所以你不需要任何代表。這樣的事情:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identifier = @"YourCellIdentifier";
YourCustomCell *cell =[tableView dequeueReusableCellWithIdentifier:identifier];
if(cell == nil) {
cell = [YourCustomCell alloc/init method....
[cell.buttonProperty addTarget:self action:@selector(cellButtonTapped:)
forControlEvents:UIControlEventTouchUpInside];
}
//do other stuff with your cell
}
-(void)cellButtonTapped:(id)sender {
UIButton *button = (UIButton*)sender;
YourCustomCell *cell = (YourCustomCell*)button.superview.superview; //if the button is added to cell contentView or button.superview is added directly to the cell
NSIndexPath *path = [yourTableView indexPathForCell:cell];
[yourTableView scrollToRowAtIndexPath:path
atScrollPosition:UITableViewScrollPositionTop
animated:YES];
}
1
建立一個委託機制返回從你的單元格 - 當創建單元格時,爲它指定一個NSIndexPath,並在點擊該按鈕時從單元格傳回它。
因此,在你的UITableViewCell子類中,你將有:
- (IBAction)buttonPressed:(id)sender
{
[self.delegate buttonPressedOnCellAtIndexPath:cell.indexPath]
}
回到那就是代表控制器,請回覆此法:
- (void)buttonPressedOnCellAtIndexPath:(NSIndexPath)indexPath
{
[self.tableView scrollToRowAtIndexPath:indexPath];
}
2
您可以滾動到某個部分與使用此功能:
- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
使用示例爲:
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:5 inSection:indexPath.section]
atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
和鏈接與實現代碼如下按鈕動作,你可以在你使用協議自定義單元格
相關問題
- 1. 當按鈕按下時,找到UITableViewCell中按鈕的indexPath?
- 2. 在UITableViewCell裏面點擊按鈕
- 3. 當我按下里面cardview按鈕,既cardview項和按鈕被點擊
- 4. 當按下按鈕
- 5. 當按下按鈕時,需要訪問UITableViewCell的detailTextLabel屬性
- 6. 保存按下按鈕狀態UITableViewCell
- 7. 的JLabel當按下按鈕
- 8. 按鈕與裏面
- 9. 按鈕裏面的錶行TR,當單擊按鈕時只做按鈕動作
- 10. iOS:EXC_BAD_ACCESS當按下按鈕
- 11. UITableView當按下按鈕
- 12. android:imageview裏面的按鈕
- 13. UITableViewCell上的按鈕
- 14. UItableviewcell中的按鈕
- 15. 當我按下按鈕時,我的按鈕往下掉
- 16. 的if/else裏面沒有方法按下按鈕
- 17. UISearchBar裏面取消按鈕
- 18. facebook裏面像按鈕
- 19. 安卓按鈕裏面PopupWindow
- 20. 按鈕下面RecyclerView
- 21. 後面的按鈕裏面的類大
- 22. PyQt的:當一個按鈕被按下
- 23. UITableViewCell中的按鈕 - 在prepareForSegue中按下按鈕時識別單元格
- 24. 更改iFrame的大小當div裏面的iFrame使頁面更大按鈕按
- 25. 應用按後退按鈕當按下後退按鈕
- 26. 當按下Asp.net窗體上的任何按鈕時也按下默認按鈕
- 27. 按下按鈕時取得當前頁面的信息
- 28. 當鍵盤按鍵被按下時,顯示按鈕被按下
- 29. 當按下按鈕,然後開始繪製按鈕也複製在面板
- 30. ListView下面的按鈕
delegationtain mechanism?有更容易的方法嗎?我其實不需要通過任何方法。我只想跳到某個部分。 – DanielR
你能告訴我應該把什麼放在我的.h文件中,以便代表團正常工作嗎? – DanielR