2015-02-05 52 views
0

我簡單的tableview也是每一個細胞都得到活動的指標,但是當我點擊列按鈕字母鍵得到0和指標阿爾法獲得1這樣的iOS開始活動的指標只有1排

if (webserviceRunningValueInt == 1) 
{ 
    cell.unBlockUserButtonOutlet.alpha = 0; 
    cell.waitIndicator.alpha = 1; 
    [cell.waitIndicator startAnimating]; 
} 
else 
{ 
    cell.waitIndicator.alpha = 0; 
    [cell.waitIndicator stopAnimating]; 
    cell.unBlockUserButtonOutlet.alpha = 1; 
} 

這部分代碼工作,但活動的指標開始上所有的行:)動畫如何設置這個過程只有1排

+0

哪裏是這段代碼被稱爲:

創建單元格時添加一個目標的按鈕? – Stonz2 2015-02-05 20:04:57

+0

In; ' - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { }' – 2015-02-05 20:22:28

回答

1

希望我正確認識你的問題:你想點擊一個單元格,並有一個活動的指標開始動畫?

我個人並不具有對所有的人的活動的指標,然後隱藏和暴露打擾他們,這使得它有點痛的啓動和停止的正確指標。

我如何在其他應用程序做它是一個指標在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];  
} 
+0

Actullay我得到活動指標,當我按下按鈕活動指標工作,但如果我有20行,所有指標工作:)我只是想工作的只有1哪一行按下 – 2015-02-05 22:55:14

+0

當我按下按鈕指示燈工作'webserviceRunningValueInt = 1' – 2015-02-05 22:56:39

+0

所以這個代碼將一個活動的指標加起來也只有按排,一旦另一行被按下,然後它會消失,並出現在新行被按下。它是願意嘗試這樣只是把它複製到你的項目並進行試用 – 2015-02-05 22:56:56