Ios 使用特定子视图重新加载/刷新视图控制器
我有一个UIViewController,它有几个特定的子视图(如存折视图)。 退出视图时,我希望重新加载ViewController及其所有子视图。我调用rootviewController的viewDidLoad和viewWillLayoutSubviews方法,如下所示:Ios 使用特定子视图重新加载/刷新视图控制器,ios,objective-c,iphone,uiview,uiviewcontroller,Ios,Objective C,Iphone,Uiview,Uiviewcontroller,我有一个UIViewController,它有几个特定的子视图(如存折视图)。 退出视图时,我希望重新加载ViewController及其所有子视图。我调用rootviewController的viewDidLoad和viewWillLayoutSubviews方法,如下所示: - (IBAction)disconnect:(UIStoryboardSegue *)segue { self.sourceVC = segue.sourceViewController; self.d
- (IBAction)disconnect:(UIStoryboardSegue *)segue {
self.sourceVC = segue.sourceViewController;
self.disconnected = YES;
ViewController *rootController=(ViewController *)((AppDelegate *)[[UIApplication sharedApplication] delegate]).window.rootViewController;
[rootController viewDidLoad];
[rootController viewWillLayoutSubviews];}
在我的ViewController类中:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[self setupPBDataSource];}
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
CGRect frame = self.view.bounds;
CGFloat maxY = (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)\
? 20 : 0);
frame.origin.y += maxY;
frame.size.height -= maxY;
if (!_passbookView) {
self.passbookView =
[[PBPassGroupStackView alloc] initWithFrame:frame datasource:self];
[self.view addSubview:self.passbookView];
} else {
[self.passbookView removeFromSuperview];
self.passbookView =
[[PBPassGroupStackView alloc] initWithFrame:frame datasource:self];
[self.view addSubview:_passbookView];
}}
我只想知道如何重新加载我的新passbookView(在登录序列上创建了两个新的子视图)???谢谢。您不应该直接调用
viewDidLoad
和viewWillLayoutSubviews
。您可以创建新方法,大致封装您正在尝试的内容,但直接调用它们是非常不传统的。那么,如何在我的PasspookView中重新加载所有视图,而不是关闭removeFromSuperview和addSubview?我不知道有关PBPassGroupStackView
的任何信息。是否有重新加载数据?你应该查一下API。