我以编程方式创建了视图但它没有显示在屏幕上 并在控制台中给出一条消息
无法为UIMainStoryboardFile“Main”实例化默认视图控制器 - 也许 指定的入口点未设置?
这是我的代码
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;
exmTableViewController *vc =[[exmTableViewController alloc] init];
self.window.rootViewController=vc;
self.window.backgroundColor =[UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
* Viewdidload *中的代码
- (void)viewDidLoad
{
[super viewDidLoad];
UIImageView *img =[[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 20)];
self.imageView=img;
[self.view addSubview:self.imageView];
UILabel *lbl =[[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 20)];
lbl.text =@"Hello";
self.view =lbl;
}
答案 0 :(得分:0)
而不是此行self.view =lbl;
,使用[self.view addSubview:lbl];
将子视图添加到您的视图中。
答案 1 :(得分:0)
试试这个
- (void)viewDidLoad
{
[super viewDidLoad];
UIImageView *img =[[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 20)];
self.imageView=img;
[self.view addSubview:self.imageView];
UILabel *lbl =[[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 20)];
lbl.text =@"Hello";
[self.view addSubview:lbl];
}
答案 2 :(得分:0)
-(void)viewDidLoad
{
[super viewDidLoad];
UIImageView *img =[[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 20)]; [self.view addSubview:img];
UILabel *lbl =[[UILabel alloc] initWithFrame:CGRectMake(10, 200, 100, 20)];
lbl.text =@"Hello";
[self.view addSubview:lbl];
}
试试这样。 self.view = lbl; 在此行中您指定self.view作为标签,您要添加子视图 [self.view addSubview:yourSubView]; 这样做。< / p>
答案 3 :(得分:0)
从故事板创建View控制器时,视图控制器由故事板启动。您不应该自己创建Windows根控制器。您需要在Plist中提供故事板名称。
加载视图后将调用viewDidLoad方法。在这里,您需要设置视图(添加和配置子视图)。但是您正在更改viewControllers视图属性,该属性由storyboard设置。如果要更改视图控制器视图,可以使用
- (void)loadView
// inside this method you can assign new view to view property.
如果要将视图添加为子视图,请使用视图的方法
- (void)addSubview:(UIView *)view