簡體   English   中英

在Swift中使用prepareForSegue

[英]Using prepareForSegue in Swift

我試圖在點擊一個UIView時創建一個Segue,這會導致一個Segue到一個新的視圖控制器,該控制器保存了被點擊的UIView。 基本上采用的UIView僅為屏幕的一半,並使其成為整個屏幕的大小。

我想我應該使用prepareForSegue將我點擊的UIView傳遞給新的視圖控制器,而不是創建新的視圖,但是我不確定prepareForSegue是否應該自動生成,以及應該在哪里生成。 我將點擊手勢鏈接到“顯示”序列,以打開新的視圖控制器。 我以為prepareForSegue是在Objective-C中自動生成的,所以我不確定是否應該使用它。

另一個想法是它可能在輕擊手勢的動作功能中,但是我不確定這是比prepareForSegue好還是壞。 我看到的問題是無法獲得對我要移動的新視圖控制器的引用。

關於您所說內容的幾點評論...

我想我應該使用prepareForSegue將我點擊的UIView傳遞給新的視圖控制器,而不是創建一個新的視圖...

您不將UIView傳遞給新的視圖控制器。 您將要顯示的UIImage傳遞給新的視圖控制器。

我將點擊手勢鏈接到“顯示”序列,以打開新的視圖控制器。

這是一個很好的開始,還要確保已將手勢附加到的UIImageView在情節提要板上將其“ User Interaction Enabled”標志設置為true(我一直都忘記了這一點。)

您必須為自己寫封存做好准備。 您想要將准備segue方法放入原始視圖控制器中。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected UIImage to the new view controller.
}

一個選項可能是子類化UIStoryboardSegue並將其用作您的Custom segue。 這樣,您可以獲取fromVC和toVC的句柄,以及其中的任何視圖,以控制segue的外觀和工作方式。

蘋果文檔: https : //developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomSegues/CreatingCustomSegues.html

我發現的一個小示例: http : //www.albertopasca.it/whiletrue/2013/10/objectivec-uistoryboard-custom-transition/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM