Instructables

Creating your first iOS app

Featured

Step 6: Have some fun by adding things programmatically

To make it a little more advanced, we are going to add everything programmatically.

1. Delete the label we added to the UI as well as all the code we wrote up to this point.

2. Open ViewController.h and add the Following code between the @interface ViewController: UIViewController and @end:
@property (strong, nonatomic)UILabel *label;
Notice how a circle did not appear this time? That's an indication that you did it correctly

3. In ViewController.m add @synthesize label; right beneath @implementation ViewController and add [self setLabel:nil]; in the viewDidUnload function.

4. In the viewDidLoad function add the following lines of code:
//Define where the label will be displayed
self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
//Define the text to be displayed
self.label.text = @"Hello World";
//Center the Text
self.label.textAlignment = UITextAlignmentCenter;
//Programmatically add the label to the view
[self.view addSubview:self.label];

5. Hit run and admire your handiwork, you've completed your first iOS application
 
Remove these adsRemove these ads by Signing Up
siennaamelia11 months ago
@A-Nony-Mus Many thanks to you....I started to create my app using the steps provided by you here, it worked out well and I am happy coding my iPhone app using XCode iPhone apps development tool, Sweb also helped me a lot.  Would like to know how to test once I wind up my app? Please help me out!  few apps.

Recently did research on how to make iPhone apps and posted! Please find the below link


gumption1 year ago
Thanks for the simple introduction to iOS app development.

FWIW, an alternate approach to the proposed substitution above would be to add another label.

Since I'm using iOS 6, UITextAlignmentCenter is deprecated; a post on StackOverflow (http://stackoverflow.com/questions/12792999/what-are-good-alternatives-to-uitextalignmentcenter-in-ios-6) suggested using NSTextAlignmentCenter instead ... and for backward compatibility, to use the following:

#ifdef __IPHONE_6_0
# define ALIGN_CENTER NSTextAlignmentCenter
#else
# define ALIGN_CENTER UITextAlignmentCenter
#endif

I added the following line to ViewController.h (below the @property declaration for label):

@property (strong, nonatomic)UILabel *label2;

and added the following line in ViewController.m (below the @synthesize label; line):

@synthesize label2;

After adding the preprocessor macro proposed in the StackOverflow, and using the code provided above (substituting "label2" for "label" in the added statements), my viewDidLoad method appears as follows:


- (void)viewDidLoad
{
    [super viewDidLoad];

    // from before:
    self.label.text = @"Hello World!";

    // using a Y coordinate of 200 instead of 0 for label2
    self.label2 = [[UILabel alloc] initWithFrame:CGRectMake(0, 200, 320, 100)];
    self.label2.text = @"Goodbye";
    self.label2.textAlignment = ALIGN_CENTER;
    [self.view addSubview:self.label2];
}
hojijoon1 year ago
very nice thank you bro!
carlmal1 year ago
Would be great if you could include how to get the app onto your device. Thanks for the instructable.
zacker1 year ago
all that just to say Hello World? whats it take to make an actual app like these photo editing apps and such?
That is not all that much work - really. With much power comes much responsibility, meaning that there are many small things required just to get up and running, but once you are, running that is, the next steps are not that much more complex
...like baby steps.. lol Thanks!
Very nice introduction to writing an app! This could be the road to riches for someone with a good idea an a willingness to learn.

Thank you!!