我有一個UITableView我在其中填充自定義生成的UITableViewCells。這些有一張照片和一些標籤。iphone - 執行segue從自定義TableCellView
是否有任何方式,當點擊圖片時,它執行某個segue,但當我點擊每個標籤時,它執行不同的segues。我只想在單擊UIImageView或UILabels時執行這些segues。
我目前在玩下面的想法。
- 中的cellForRowAtIndexPath在創建他們的時候添加手勢識別器來的UIImageView和UILables
- 以上觸摸手勢將觸發SEGUE
我的代碼看起來像這樣在我創造我UITableViewCells中的UITableView的cellForRowAtIndexPath委託
cell.myImage.userInteractionEnabled = YES;
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething:)];
singleTap.numberOfTapsRequired = 1;
singleTap.delegate = self;
[cell.myImage addGestureRecognizer:singleTap];
當我點擊th表時,這將重寫表視圖的didSelectRowAtIndexPath委託e UIImageView,所以我試着從doSomething:函數中觸發segue,但是這個函數並不知道UITableView indexPath,因此無法將正確的信息發送到目標視圖控制器(它總是發送0)。
我敢肯定,必須有一個容易做到這一點
任何想法歡迎。提前致謝。
我在哪裏添加此代碼?由singleTap觸發的方法沒有定義事件標識符,因此UITouch * touch = [[allTouch] anyObject];失敗。 – anothersanj
@anothersanj - 更新了我的答案! –
哇,太好了,謝謝!我的doSomething方法現在具有所選tableCell的indexPath。有沒有什麼辦法讓我把它傳遞給prepareForSegue方法或者通過編程方式觸發didSelectRowAtIndexPath,這樣segue就可以用正確的indexPath來執行了? – anothersanj