当我使用子视图调用父视图时,iOS UIPageControl未显示正确的页码
我有一个包含容器视图的主当我使用子视图调用父视图时,iOS UIPageControl未显示正确的页码,ios,objective-c,iphone,uiviewcontroller,uipagecontrol,Ios,Objective C,Iphone,Uiviewcontroller,Uipagecontrol,我有一个包含容器视图的主UIViewController(用flightsetingscontentviewcontroller命名),容器视图是UIPageViewController(用flightsetingcontainer命名) 但是布局必须在主UIViewController(FlightSettingsContentViewController)上设置一个页面控件元素,因此我在主UIViewController上拖动一个页面控件 但是当容器视图(子视图-flightsetingco
UIViewController
(用flightsetingscontentviewcontroller
命名),容器视图是UIPageViewController
(用flightsetingcontainer
命名)
但是布局必须在主UIViewController
(FlightSettingsContentViewController
)上设置一个页面控件元素,因此我在主UIViewController
上拖动一个页面控件
但是当容器视图(子视图-flightsetingcontainer
)加载时,我想设置主视图控制器的页面控件numberOfPages
我在子视图FlightSettingContainer.m上编写以下代码,以调用父视图控制器pagecontrol页码
@interface FlightSettingContainer()
{
FlightSettingMainViewController *parentFlightSetngVC;
}
@implementation FlightSettingContainer
- (void)viewDidLoad {
[super viewDidLoad];
parentFlightSetngVC = (FlightSettingMainViewController*) self.parentViewController;
[parentFlightSetngVC.pageControl setNumberOfPages:4];
}
但是在主viewcontroller上,pagecontrol点不会更改为4点
有人知道问题出在哪里吗?非常感谢。我想当您试图访问
viewdiload
方法中的parentViewController
对象时,该方法将返回零,因为在FlightSettingContainer类(子)
视图加载到内存中之前,它不会被设置为FlightSettingMainViewController(父)的子对象
。因此,use应该在viewdideappear或viewWillAppear
中使用您的代码,因为现在它被设置为其父级的子级
希望它能很好地工作:)您调用代码太早了,关系尚未设置
将其放入viewdide
方法中您是否检查了您的parentFlightSetngVC是否有某个对象或它是否为零。使用日志或使用断点检查它。是的,parentFlightSetngVC为零..@@parentFlightSetngVC为什么为零?我得到ParenView控制器有失败代码?parentFlightSetngVC=(FlightSettingMainViewController*)self.parentViewController;谢谢你的代码在视图中将出现或视图确实出现希望它能工作。我把代码放在视图确实出现,它工作了。非常感谢你。请写下答案,我会给你答案。