访问当前视图的父视图-iOS
当我想访问当前访问当前视图的父视图-iOS,ios,objective-c,uiview,superview,Ios,Objective C,Uiview,Superview,当我想访问当前UIView的父UIView时,我在当前UIView中声明父UIView的对象,并通过将父UIView对象分配给当前视图的对象属性来访问它 有没有办法摆脱这种情况,直接调用父视图的方法或属性 我还尝试了(parentView*)self.view.superview,但没有帮助 它在调用此对象的函数时出错 [UIVIew unrecognized selector...... 如果您直接从UIView(而不是UIViewController)调用它,那么它应该是self.supe
UIView
的父UIView
时,我在当前UIView
中声明父UIView
的对象,并通过将父UIView
对象分配给当前视图的对象属性来访问它
有没有办法摆脱这种情况,直接调用父视图的方法或属性
我还尝试了(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:]方法调用视图控制器的方法
另一种方法是访问视图的superview,然后获取其控制器。你不能直接这样做,因为如果你能这样做的话,它将破坏MVC的全部目的
但是,仍然有一条出路,给你:-
希望,这对你有帮助 它是UIViewController。但我想它不应该也适用于UIView,因为对象是相同的,两者都是UIView注意,在ViewDidLoad中返回nil。它只有在视图中和视图之后才显示可用。非常感谢您的帮助Archana。实际上我的问题是我不想看名字。我想让它充满活力。谢谢