希望我正確認識你的問題:你想點擊一個單元格,並有一個活動的指標開始動畫?
我個人並不具有對所有的人的活動的指標,然後隱藏和暴露打擾他們,這使得它有點痛的啓動和停止的正確指標。
我如何在其他應用程序做它是一個指標在didSelectRow階段添加到細胞,我們可以知道我們點擊了哪個小區,並立即添加單元格:
- (void)tableView:(UITableView *)tableView_ didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView_ reloadData];
// This code will create and add an activity indicator
UIActivityIndicatorView * activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
UITableViewCell * cell = [tableView_ cellForRowAtIndexPath:indexPath];
cell.accessoryView = activityIndicator;
[activityIndicator startAnimating];
[tableView_ deselectRowAtIndexPath:indexPath animated:YES];
}
整潔件事這個代碼是因爲我們在創建單元格時不添加活動指示器意味着我們可以通過刷新tableView來擺脫指示器。在這種情況下,每當我們點擊我們擺脫了以前的指標,並添加一個新的。
希望這有助於有點
編輯:如果你想這來自小區按下一個按鈕(感謝弗拉基米爾此answer)
這是一次非常簡單,可以使用代碼發生以上。
[button addTarget:self action:@selector(checkButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
這將使我們能夠找出當按鈕被竊聽
- (void)checkButtonTapped:(id)sender {
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
// Now we have the indexPath of the cell clicked so we can use the previous code again
[tableView_ reloadData];
UIActivityIndicatorView * activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
UITableViewCell * cell = [tableView_ cellForRowAtIndexPath:indexPath];
cell.accessoryView = activityIndicator;
[activityIndicator startAnimating];
}
哪裏是這段代碼被稱爲:
創建單元格時添加一個目標的按鈕? – Stonz2 2015-02-05 20:04:57
In; ' - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { }' – 2015-02-05 20:22:28