我在没有init的情况下分配一个viewcontroller,但一切正常。 viewcontroller中的子视图工作正常。
这是代码。
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
[self.window makeKeyAndVisible];
self.window.rootViewController = [[UINavigationController alloc]initWithRootViewController:[ViewController alloc]];
ViewController.m中的代码
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self test];
}
- (void)test
{
self.view.backgroundColor = [UIColor whiteColor];
CGRect frame = CGRectMake( 50, 100, 200, 200);
UIScrollView *scrollView= [[UIScrollView alloc] initWithFrame:frame];
[self.view addSubview:scrollView];
frame= CGRectMake( 0, 0, 500, 500);
UIImageView *myImageView= [[UIImageView alloc] initWithFrame:frame];
[scrollView addSubview:myImageView];
scrollView.contentSize = CGSizeMake(500,500);
scrollView.backgroundColor = [UIColor blackColor];
myImageView.backgroundColor = [UIColor yellowColor];
scrollView.contentOffset = CGPointMake(0, 0);
}
@end
答案 0 :(得分:0)
Avi在(他的?)评论中说得对。这是一个愚蠢的运气。这就像说"我一直在驾驶我的汽车30,000公里而不换油,它运行良好。为什么每个人都说你必须换油?"
Init为类及其祖先类进行设置。可以肯定的是,有些设置尚未完成,将来会导致问题。
创建对象的正确方法是使用alloc / init。如果你不这样做,"结果是未定义的。"