相关疑难解决方法(0)

我滥用UIViewController子类吗?

在试图找出为什么viewWillAppear没有在我的应用程序中被调用时,我遇到了一个可能是我对UIViewController子类的预期用途的严重误解.

根据以下帖子viewWillAppear在使用addSubView时不运行!以及此博客文章的链接:http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/ UIViewController子类化应该只在非常具体的情况下发生.最值得注意的是,当直接添加到UIWindow或其他Apple创建的自定义控制器(如UINavigationControllers)时.

我肯定会将UIViewController子类的视图添加到其他UIViewController子类的视图中.

事实上,我认为这或多或少是苹果公司实施MVC的整体想法......一个整体的风险投资公司,其他风险投资公司都在下面,所有人都乐于获得他们的代表方法.

如果有,而不是通过控制了很多意见(其定义需要控制)来了,在一个应用程序去,很多screenfulls的,在该职位描述的模型中,每个screenfull应该有一个主VC子类,所有的子视图自定义控制器(碰巧控制视图)是简单NSObject的子类.

在这种情况下,UIViewControllers应该只是直接到Window或UINavigationController,UITabBarController等?

您是否可以保证在这种情况下调用UIVC Delegate方法?当viewcontroller的视图是另一个VC的子视图时,这与手动调用委托方法有何不同?

老实说,这似乎是浪费时间.viewDidLoad中,viewDidLoad中,viewDidUnload,viewWillAppear中的自定义实现,viewWillDisappear何况事情就这么简单公司,比如,"意见"的属性...

所以基本上,要么我完全错了,要么就是在疯狂追逐.如果不能指望UIViewController子类调用viewWillAppear,为什么不手动调用该方法,并完成它?

为什么要复制UIViewController的所有感知功能?

iphone cocoa-touch uiviewcontroller uiview ios

31
推荐指数
1
解决办法
8957
查看次数

iOS:iOS 4.3和5.0之间的不同addSubview行为

虽然在iOS 4.3编码之前,我发现在将视图控制器的视图添加到另一个视图时[superview addSubView:controller.view],控制器实例将不会收到-viewWillAppear/viewDidAppear消息,比我在堆栈溢出中的某些线程中发现相同的问题.之后,我-viewWillAppear/-viewDidAppear根据需要手动调用.

但是,升级到之后iOS 5.0,UIView发生了一些活泼的行为.最后我发现在iOS 5中 [superview addSubView:controller.view],会-viewWillAppear/-viewDidAppear自动向控制器实例发送一条消息,加上我的手动调用,每次控制器动作其行为时都会有两条重复的消息.

我也发现了一个类似的问题:iOS 5:在解除iPad中的模态后没有调用-viewWillAppear

现在,问题是,在搜索苹果的文档之后,我没有找到关于这些问题的差异的明确文档.我甚至怀疑这是否是iOS 5.0中保证的视图生命周期行为.

有没有人解决类似问题或找到关于这些差异的一些指导.因为我想要运行我的应用程序4.x & 5.x iOS.

iphone uiviewcontroller ipad ios ios5

29
推荐指数
3
解决办法
9583
查看次数

UIViewController旋转方法

什么对象负责UIViewController旋转旋转方法调用,即:

  • shouldAutorotateToInterfaceOrientation:
  • willRotateToInterfaceOrientation:duration:
  • willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
  • willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:
  • didRotateFromInterfaceOrientation:

我想它是UIApplication(但可能是AppDelegate或UIWindow).

接下来的问题是,对象如何知道UIViewController要与谁交谈?

它如何知道哪个UIViewController视图作为窗口的子视图?

是否有可以发送的消息或您可以设置的属性(某些对象)UIViewController为应用程序设置"活动" ?

iphone cocoa-touch uiviewcontroller ios

17
推荐指数
1
解决办法
2万
查看次数

viewWillAppear在tabbar的viewcontrollers中

在我的标签栏中,我有四个视图控制器,一个中发生的事情会影响另一个视图,所以我可能需要在视图控制器可见时重新加载一些元素.通常我会通过实现viewWillAppear来解决这个问题,但是当我在选项卡之间切换时,似乎没有调用viewWillAppear.我该如何解决这个问题,或者我应该做些什么呢?

更新:作为PS我应该补充一点,这是一个导航控制器层次结构中的tabbarcontroller

干杯

cocoa-touch uitabbarcontroller uiviewcontroller viewwillappear

9
推荐指数
2
解决办法
7210
查看次数

iOS - UITextView成为FirstResponder

这就是问题:当MessageComposeViewController被解除时,我的textView不会成为第一个响应者,键盘也不会出现.为什么?我把[textView becomeFirstResponder]代码放进去了viewWillAppear.我能怎么做??

uitextview becomefirstresponder ios

1
推荐指数
1
解决办法
8742
查看次数