我这样做:
self.addChildViewController(blackView)
self.scrollView.addSubview(blackView.view)
blackView.didMoveToParentViewController(self)
但即使我只做
,代码也能正常工作 self.scrollView.addSubview(blackView.view)
所以我想知道忽略第一行和最后一行是否会成为应用程序的问题?
答案 0 :(得分:0)
调用这些方法可以让blackView
控制器正确地完成UIViewController
生命周期,就像调用viewWillAppear:',
viewDidappear:`等一样。
您甚至可以添加willMoveToParentViewController
:
self.addChildViewController(blackView)
self.scrollView.addSubview(blackView.view)
blackView.didMoveToParentViewController(self)
如果您要移除控制器,则必须执行类似的过程:
blackView.willMoveToParentViewController(nil)
blackView.view.removeFromSuperview
blackView.removeFromParentViewController
That link也解释了这一点,并提供了更多示例。
答案 1 :(得分:0)
你在Objective-C中有一个很好的例子:
https://github.com/devenergy/SpinKit-ObjC/tree/master/Demo/SpinKit
一些代码:
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.pagingEnabled = YES;
scrollView.alwaysBounceVertical = NO;
scrollView.alwaysBounceHorizontal = YES;
UIView *panel1 = [[UIView alloc] initWithFrame:CGRectOffset(screenBounds, screenWidth * index, 0.0)];
[scrollView addSubview:panel1];
UIView *panel2 = [[UIView alloc] initWithFrame:CGRectOffset(screenBounds, screenWidth * index, 0.0)];
[scrollView addSubview:panel2];