2013-01-11 25 views
0

我是Objective-C的新程序員。如何使用segue table view控制器單元格單元格和單元格中的長按Objective-C

我在我的應用程序中使用了一個故事板。它包含UITableViewController。

當我點擊它是使用segue的單元格轉到下一個視圖控制器。但我想使用-(void)onLongPress:(UILongPressGestureRecognizer*) pGesture並通過使用相同的單元顯示另一個ViewController。

我的TableView顯示公司。我想根據單元格LongClick顯示公司詳細信息。

回答

1

您需要創建一個UILongPressGestureRecognizer。

然後,您需要將其附加到您希望識別longPress的視圖。 當您附加它時,您可以定義一個動作選擇器和一個目標。動作選擇器是一種當手勢被識別時將在目標中觸發的方法。

假設你在tableViewController創建手勢識別器,並且也是目標,然後它會是這個樣子

UILongPressGestureRecognizer* longPGR = 
[[UILongPressGestureRecognizer alloc] initWithTarget:self 
               action:@selector(onLongPress:)]; 
[self.relevantViewInTableViewCell addGestureRecognizer:longPGR]; 

然後創建一個動作方法攔截水龍頭

-(void)onLongPress:(UILongPressGestureRecognizer*)pGesture 
{ 
    //statement 
} 

如果您使用動態單元格創建表格,則應在創建單元格時進行longPGR創建。

如果您有靜態單元,可以將IBOutlet @properties連接到相關單元,並在創建longPGR時使用該屬性。

要顯示其他viewController,沒有必要使用segue。你可以把新的viewController到NavigationController的堆棧中長按法:

[self.navigationController pushViewController:newViewController]; 

這已爲使用賽格瑞同樣的效果。

+0

感謝您的建議。我使用了這兩個東西。我在cellForRowAtIndexPath中使用了第一部分。但我需要在LongPress事件中顯示我的下一個控制器視圖。但是,所有準備工作我都用了一個細胞。那麼我怎樣才能創造出同樣的細胞? – Himesh

+0

@Gayan看到我的擴展答案。 – foundry

+0

非常感謝。它正在工作。 – Himesh

相關問題