Попытка получить UILabel для показа в виде без NIB - PullRequest
2 голосов
/ 20 июня 2009

Я новичок в программировании iPhone и пытаюсь сделать простую программу без NIB. Я работал над некоторыми учебными пособиями по NIB, но я хотел бы попробовать некоторые вещи программно.

Мой код загружается без ошибок, строка состояния становится черной, а фон - белым. Но я не думаю, что после этого я корректно загружаю свой вид меткой. Я предполагаю, что делаю что-то просто в корне неправильно, поэтому, если бы вы указали мне правильное направление, я был бы признателен Я думаю, что если я смогу показать лейбл, я пойму немного понимания. Вот мой код:

//helloUAppDelegate.h
#import <UIKit/UIKit.h>
#import "LocalViewController.h"

@interface helloUAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    LocalViewController *localViewController;
}

@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) LocalViewController *localViewController;

@end


//helloUApDelegate.m
#import "helloUAppDelegate.h"

@implementation helloUAppDelegate

@synthesize window, localViewController;

- (void)applicationDidFinishLaunching:(UIApplication *)application {   
    application.statusBarStyle = UIStatusBarStyleBlackOpaque;
    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    if (!window) {
        [self release];
        return;
    }
    window.backgroundColor = [UIColor whiteColor];

    localViewController = [[LocalViewController alloc] init];

    [window addSubview:localViewController.view];

    // Override point for customization after application launch
    [window makeKeyAndVisible];
}


//LocalViewController.h
#import <UIKit/UIKit.h>

@interface LocalViewController : UIViewController {
    UILabel *myLabel;   
}

@property (nonatomic, retain) UILabel *myLabel;

@end


//LocalViewController.m
#import "LocalViewController.h"

@implementation LocalViewController

@synthesize myLabel;

// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
    self.myLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];      
    self.myLabel.text = @"Lorem...";
    self.myLabel.textColor = [UIColor redColor];
}

- (void)dealloc {
    [super dealloc];
    [myLabel release];
}

1 Ответ

3 голосов
/ 20 июня 2009

Добавьте вашу метку в представление LocalViewController:

- (void)loadView {
    [super loadView];
    self.myLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];      
    self.myLabel.text = @"Lorem...";
    self.myLabel.textColor = [UIColor redColor];
    [self addSubview:self.myLabel];
    [self.myLabel release];     // since it's retained after being added to the view
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...