在我的iOS應用後才能正常運行,我提出一個UITableViewController使用dismissViewControllerAnimated攻的TableView行第二次
...
[self presentViewController:vc animated:YES completion:nil];
...
現在,經過我在tableview中輕按一排,我想解僱我tableviewcontroller:
#pragma mark UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self dismissViewControllerAnimated:true completion:^(void) {
NSLog(@"dismissed");
}];
}
現在我的問題: dismissViewControllerAnimated按預期工作,但我必須點擊該行2次。我第一次點擊這一行沒有任何反應。
觀察至今:
- 我點擊一排一次:什麼也沒有發生
- 我挖掘連續2次:TableviewController駁回,「開除」被記錄
- 我點擊一排一次並通過點擊模式外的某個地方點擊桌面視圖:「解僱」獲取日誌記錄
即使我只點擊一次,似乎完成塊也會「計劃」。但解僱不會發生。
有誰知道是什麼原因導致此問題?
聽起來像didSelectRowAtIndexPath:是不是所有在第一次按下被調用?在行內是否有按鈕或文本輸入字段會攔截觸摸事件? – par
@par didSelectRowAtIndexPath:正在調用。我已經在那裏放置了一個斷點並對其進行了測試。 –
是tableViewDelegate *呈現*視圖控制器還是它的UITableViewController?你需要從呈現視圖控制器調用dismissViewController所以嘗試可能[self.presentingViewController dismissViewControllerAnimated ...] – par