2015-11-23 27 views
1

在我的應用程序中,您在textFieldviewcontroller1中鍵入integer。如果integer大於100,則會在屏幕上彈出一個標籤,當您點擊該標籤時,您將轉到viewcontroller2。從viewcontroller2viewcontroller3重複相同。如何在swift中使用prepareforsegue中的標籤而不是按鈕

但是我想顯示在另一個labelviewcontroller3,然後我學會了用prepareforsegue能夠如願viewcontroller1整數。

現在我的問題是,如果我用一個buttonprepareforsegue才能正常運行,它好像我無法連接我的標籤,你點擊去viewcontrollersegue連接? (這可能嗎? 如果沒有,我能做些什麼來保持我的標籤,但工作作爲我的button現在,所以我prepareforsegue正常工作。

+0

你真的想點擊一個特定的UI元素切換到其他視圖控制器或只是選擇單元格足夠?如果選擇單元格足夠將segue連接到表視圖單元格(而不是視圖控制器),則'prepareForSegue'中的'sender'參數就是所選的'UITableViewCell'實例。 – vadian

+1

在故事板中爲您的Segue標識符,並在標籤上單擊或點按方法使用performSegueWithIdentifier(「標識符」,發件人:自我)。這樣,prepareForSegue被調用,即使輕敲標籤: –

+0

@harshayarabarla(注用戶交互應該在標籤啓用)你會如何準確地把這些代碼到我的標籤點擊: FUNC handleTap(gestureRecognizer:UIGestureRecognizer){ 令故事情節= UIStoryboard (名稱:「Main」,捆綁:無) 讓vc:AnyObject! = storyboard.instantiateViewControllerWithIdentifier( 「nextlevelnow」) self.presentViewController(VC爲UIViewController中,動畫:真,完成:無) – Frederic

回答

1

先給SEGUE的標識符故事板和標籤上單擊或點擊。方法使用performSegueWithIdentifier("identifier", sender: self)這樣的prepareForSegue被調用,即使輕敲標籤(注:用戶交互應該標籤上啓用) 在你的代碼self.performSegueWithIdentifier("identifier", sender: self)

1

標籤更換self.presentViewController(vc as! UIViewController, animated: true, completion: nil)不是UIControl元素,因此不能識別觸摸您需要將tapGestureRecognizer附加到標籤上(確保標籤上的用戶交互已啓用),然後您可以附加你可以使用@IBAction方法或觸發segue。如果使用IB,則來自手勢識別器的參考插座連接應與標籤綁定。

相關問題