當我想訪問當前UIView
的父母UIView
我通過分配父UIView
對象當前視圖對象財產申報在當前UIView
父UIView
的對象和訪問它。訪問父視圖 - iPhone的SDK
有沒有什麼辦法擺脫這一點,並直接調用父視圖的方法或屬性?
我也試過(parentView *) self.view.superview
但沒有幫助。
它給出錯誤而調用函數這個對象
[UIVIew unrecognized selector......
非常感謝,
導航
當我想訪問當前UIView
的父母UIView
我通過分配父UIView
對象當前視圖對象財產申報在當前UIView
父UIView
的對象和訪問它。訪問父視圖 - iPhone的SDK
有沒有什麼辦法擺脫這一點,並直接調用父視圖的方法或屬性?
我也試過(parentView *) self.view.superview
但沒有幫助。
它給出錯誤而調用函數這個對象
[UIVIew unrecognized selector......
非常感謝,
導航
如果您是直接從UIView
(而不是UIViewController
)調用這一點,應該是self.superview
而不是self.view.superview
。
@ Naveed:這是您可以用於任何視圖的通用代碼,無論它是父視圖還是子視圖,只需更改要按的按鈕名稱以及您想要轉到的視圖名稱即可。例如在後退按鈕上按u想要進入庫視圖然後編寫此代碼 -
-(IBAction)backButtonPressed:(id) sender
{
llibraryView *libraryview=[[libraryView alloc] initWithNibName:nil bundle:nil];
libraryview.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
[self presentModalViewController:libraryview animated:YES];
[libraryview release];
}
讓我知道你的問題是否解決了。
我能想到的是,你想從視圖中調用viewcontroller的方法,你添加到viewcontroller的視圖。
現在你有兩個選擇,你可以將視圖控制器設置爲視圖的委託,然後通過[delegate performSelector:]方法調用viewcontroller的方法。
另一種方法是訪問視圖的超級視圖,然後獲取它的控制器。你不能直接做到這一點,如果你能做到這一點,就會挫敗MVC的全部目的。
但是,仍有出路,在這裏你去: -
Get to UIViewController from UIView?
希望,這可以幫助你。
它是UIViewController。但我想它不應該爲UIView工作,因爲對象是相同的,都是UIView – 2011-01-27 14:28:36
請注意,這返回nil在ViewDidLoad。它只是在viewDidAfter和它之後纔有用的。 – 2013-12-03 22:28:16