我创建了一个自定义UIViewController类,它在运行时创建一个ScrollView,并将其加载到视图中。请参阅我的自定义UIViewController的构造函数中的代码。
initControl(id, canEdit);
_controllers = new NSMutableArray(0); //required to keep view controllers around
_scrollView = new UIScrollView();
_scrollView.BackgroundColor = UIColor.Green;
this.View = _scrollView;
正常调用ViewDidAppear和ViewWillAppear。
我没有调用ViewDidLoad,因为视图显示在屏幕上就好了。
有什么想法吗?
答案 0 :(得分:2)
访问self.view时正在调用 viewDidLoad 方法
示例:
1)
- (id) init {
self = [super init];
if (self)
{
...
[self.view addSubview: self.toolbar];
}
}
2)
viewContrl = [[MyViewController alloc] init];
viewContrl.view = webTopView;
3)
viewContrl = [[MyViewController alloc] init];
[viewContrl.view addSubview: webTopView];
答案 1 :(得分:0)
分配视图时会调用ViewDidLoad。因此,如果您要分配视图一次&每次只使用addSubview添加,然后只调用第一次。如果你想在每次添加它时调用它,那么你需要每次都分配它。如果已经分配了视图,还可以在分配视图之前释放视图来处理内存管理。 另一种方法是创建一个方法,其中包含您要执行的操作&在addSubview之后调用它。 它可能会解决您的问题,如果您有任何疑问,请随时问我。