如何显示视图控制器中添加的视图

时间:2014-03-10 12:10:59

标签: ios storyboard viewcontroller

我以编程方式创建了视图但它没有显示在屏幕上 并在控制台中给出一条消息

无法为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;

 }

4 个答案:

答案 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