簡體   English   中英

使用Superview的導航控制器

[英]Using navigation controller of superview

我已經創建了一個自定義視圖,並向其中添加了一個自定義按鈕。 此自定義視圖作為子視圖進入了我推入導航控制器的另一個視圖(iPhone的Kal日歷)。 現在,我的自定義視圖中的按鈕已連接到IBAction,在其中我無法調用self.navigationController來從中彈出當前視圖。

我已經嘗試過[[sender superview] navigationController]來進行superview調用的層次結構,但是它也不是這樣。

有什么想法嗎?

謝謝

視圖通常不了解其視圖控制器(因此不了解其視圖控制器的導航控制器),因為這將導致視圖和視圖控制器之間的緊密耦合,這通常是不需要的,也不需要的。

解決問題的最簡單方法是讓視圖控制器代替視圖來處理按鈕的動作。 如果這對您的設計不起作用,請考慮為自定義視圖設計一個委托協議,並使您的視圖控制器成為自定義視圖的委托。 然后,視圖將在按鈕的action方法中調用委托方法。 后一種方法在整個Cocoa中被大量使用,例如, UIScrollViewUIScrollViewDelegate )和UITableViewUITableViewDelegate )。

暫無
暫無

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

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