Animations in iOS Using Block Objects (Video, Part 2)

After learning simple block object animations in iOS in the previous video, you will now learn how to use more complicated block based animations that take advantage of “completion” block objects to notify you of the completion of an animation block.

To learn more about graphics and animation in iOS, refer to Graphics and Animation on iOS (an O’Reilly book)

Animations in iOS Using Block Objects (Video, Part 1)

In this video, you will learn how to use the new block-based animations in the UIView class in iOS to create animations in your iOS apps.

To learn more about graphics and animation in iOS, refer to Graphics and Animation on iOS (an O’Reilly book)

Loading a Nib file, Programmatically (Objective-C)

If you want to load a Nib file at run time by simply allocating and initializing a View object, then you should take a rather strange approach to how you create your class files. Suppose you have a subclass of UIView called MyView and what you want is to allocate and initialize an instance of MyView but have MyView load its outlets and actions from a Nib file. Well, you will need to do two things:

  1. In Interface Builder, change the class name of your View object to MyView.
  2. Then you will have to override MyView’s initWithFrame method like so:

- (id)initWithFrame:(CGRect)paramFrame
{

NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"MyView"
owner:nil
options:nil];

if ([arrayOfViews count] < 1){
[self release];
return nil;
}

MyView *newView = [[arrayOfViews objectAtIndex:0] retain];
[newView setFrame:paramFrame];

[self release];
self = newView;

return self;

 

}

Then you can go ahead and initialize your view like this:

MyView *myView = [[MyView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:myView];
[myView release];

And here an instance of MyView will get added to the view of a view controller. That simple. I hope it helps some of you out there :-)