Iphone 如何在UITabBarController上设置另一个视图的对象的.hidden属性
亲爱的大家-我有一个基于选项卡的应用程序,作为XCode示例应用程序启动 一个选项卡用于拾取图像UIImagePickerController-按预期工作。 另一个选项卡用于在包含所选图像的UIImageView上显示CoreGraphics。这是在自定义UIView的drawRect:方法中完成的 选择新图像时,我需要重置UIView上的界面 目前,我在UIView中有一个-IBActionresetAll:idsender方法——当从同一视图上的按钮调用该方法时,所有内容都会按预期重置 但是,当我从ViewController.m文件的viewwillispect方法调用resetAll方法时:Iphone 如何在UITabBarController上设置另一个视图的对象的.hidden属性,iphone,sdk,tabs,Iphone,Sdk,Tabs,亲爱的大家-我有一个基于选项卡的应用程序,作为XCode示例应用程序启动 一个选项卡用于拾取图像UIImagePickerController-按预期工作。 另一个选项卡用于在包含所选图像的UIImageView上显示CoreGraphics。这是在自定义UIView的drawRect:方法中完成的 选择新图像时,我需要重置UIView上的界面 目前,我在UIView中有一个-IBActionresetAll:idsender方法——当从同一视图上的按钮调用该方法时,所有内容都会按预期重置 但是
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
TabBarEgAppAppDelegate *delegate = (TabBarEgAppAppDelegate *)[[UIApplication sharedApplication] delegate];
if(delegate.newphotopicked){
[myView resetAll:nil];
delegate.newphotopicked = NO;
}
resetAll方法中的NSLog被触发,但button.hidden=YES等参数;不要被设定
这是因为UIView以某种方式被TabBarViewController隐藏了吗?当选项卡更改时,如何重置视图UIView不调用ViewWillDisplay?是吗?。非常感谢你给我时间
M@
为了澄清,ViewController在.h中具有以下内容:
MyView *myView;
在下午
- (void)viewDidLoad {
myView = [[MyView alloc] initWithFrame:CGRectZero];
[myView resetAll:nil];调用与应用程序中任何位置(包括UIView MyView本身)的按钮和调用具有相同的效果
我现在知道,我已经链接或子类严重,请帮助
M@这只会在第一次显示“视图”选项卡时发生,还是每次都会发生?出口对象可能尚未创建,因此为零。您可以在NSLog调用所在的调试器中验证这一点。如果这是真的,那么如果您将resetAll功能移动到ViewDidDisplay,那么一切都应该正常。您好,Bogatyr,谢谢您的帮助。每次我从ViewController调用函数时都会发生这种情况。我认为,Outlet对象就在那里——控制台中没有错误提示其他情况,即使首先从工作按钮调用方法,也没有相同的行为。您的意思是将调用移到ViewDidAspect方法而不是ViewWillAspect方法?这与我的行为完全相同,还是在ViewController中定义函数?如果我在视图控制器中定义它,很抱歉在这里问了一个愚蠢的问题:如何设置视图的属性?是的,我建议将调用从WILL移动到DID,并考虑到所有内容都应该在那时创建,并且不为零。这两种方法都在UIViewController类中,您可以根据需要实现或不实现它们。视图属性由self.view.property=value设置,因为UIViewController将其视图作为名为view的属性。一切顺利吗?我刚注意到你接受了。。。