iOS 当我使用子视图调用父视图时,UIPageControl 不显示正确的页码
iOS UIPageControl not show correct pages number when I using subview call parent view
我有MainUIViewController
(named withFlightSettingsContentViewController
),它包含一个容器视图,容器视图是UIPageViewController
(named withFlightSettingContainer
);
但是布局必须在MainUIViewController
(FlightSettingsContentViewController
)上设置一个pageControl元素,所以我在MainUIViewController
上拖了一个page control。
但是当容器视图(subview -FlightSettingContainer
)加载时,我想设置主要viewcontroller的pageControlnumberOfPages
。
我在子视图上写了下面的代码-FlightSettingContainer.m 来调用父 viewcontroller 页面控制页码。
@interface FlightSettingContainer()
{
FlightSettingMainViewController *parentFlightSetngVC;
}
@implementation FlightSettingContainer
- (void)viewDidLoad {
[super viewDidLoad];
parentFlightSetngVC = (FlightSettingMainViewController*) self.parentViewController;
[parentFlightSetngVC.pageControl setNumberOfPages:4];
}
但是 pagecontrol 点没有变成 4 个点在主页面上 viewcontroller。
有谁知道问题出在哪里?非常感谢。
我认为当你试图访问 viewDidLoad
方法中的 parentViewController
对象时,这将 return 你为零,因为直到 FlightSettingContainer class(Child)
视图被加载到内存中未设置为 FlightSettingMainViewController(parent)
的 child
。所以使用应该在 viewDidAppear or viewWillAppear
中使用你的代码,它会起作用,因为现在它被设置为其父级的子级。
希望它能工作快乐编码:)
您调用代码的时间过早,关系尚未设置。
放在viewDidAppear
方法中
我有MainUIViewController
(named withFlightSettingsContentViewController
),它包含一个容器视图,容器视图是UIPageViewController
(named withFlightSettingContainer
);
但是布局必须在MainUIViewController
(FlightSettingsContentViewController
)上设置一个pageControl元素,所以我在MainUIViewController
上拖了一个page control。
但是当容器视图(subview -FlightSettingContainer
)加载时,我想设置主要viewcontroller的pageControlnumberOfPages
。
我在子视图上写了下面的代码-FlightSettingContainer.m 来调用父 viewcontroller 页面控制页码。
@interface FlightSettingContainer()
{
FlightSettingMainViewController *parentFlightSetngVC;
}
@implementation FlightSettingContainer
- (void)viewDidLoad {
[super viewDidLoad];
parentFlightSetngVC = (FlightSettingMainViewController*) self.parentViewController;
[parentFlightSetngVC.pageControl setNumberOfPages:4];
}
但是 pagecontrol 点没有变成 4 个点在主页面上 viewcontroller。
有谁知道问题出在哪里?非常感谢。
我认为当你试图访问 viewDidLoad
方法中的 parentViewController
对象时,这将 return 你为零,因为直到 FlightSettingContainer class(Child)
视图被加载到内存中未设置为 FlightSettingMainViewController(parent)
的 child
。所以使用应该在 viewDidAppear or viewWillAppear
中使用你的代码,它会起作用,因为现在它被设置为其父级的子级。
希望它能工作快乐编码:)
您调用代码的时间过早,关系尚未设置。
放在viewDidAppear
方法中