Hello,
I have develope an application for iPhone using view Animation it is working fine . Please see the code below :
.m file
--------------------------
It is working fine.
Same thing when I am trying for iPad application where I have SplitView Controller :
When I am running this app using iPad Simulater I am getting errors : some time 2010-03-24 14:23:27.071 SpilitViewTest[26530:207] *** -[CALayer setImage:]: unrecognized selector sent to instance 0x5229080
2010-03-24 14:23:27.083 SpilitViewTest[26530:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[CALayer setImage:]: unrecognized selector sent to instance 0x5229080'
error message is getting chage.
I am trying to implement the view animation with splitView based application . Pls advise 🙂
I have develope an application for iPhone using view Animation it is working fine . Please see the code below :
.m file
--------------------------
Code:
- (void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(nextViewAction:)];
self.navigationItem.rightBarButtonItem=nextButton;
[self.view removeFromSuperview];
view1 = [[Views_Page1 alloc] initWithNibName:@"Views_Page1" bundle:[NSBundle mainBundle]];
view2 = [[AnimationView2 alloc] initWithNibName:@"AnimationView2" bundle:[NSBundle mainBundle]];
[self.container addSubview:view1.view];
}
- (void)nextViewAction:(id)sender
{
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:animationIDfinished:finished:context:)];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kTransitionDuration];
[UIView setAnimationTransition:([self.view1.view superview] ? UIViewAnimationTransitionCurlUp : UIViewAnimationTransitionCurlDown)
forView:self.view
cache:YES];
if ([self.view2.view superview]) {
[self.view2.view removeFromSuperview];
[self.container addSubview:view1.view];
} else {
[self.view1.view removeFromSuperview];
[self.view addSubview:view2.view];
}
[UIView commitAnimations];
}
It is working fine.
Same thing when I am trying for iPad application where I have SplitView Controller :
Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after app launch
rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];
rootViewController.managedObjectContext = self.managedObjectContext;
detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = [NSArray arrayWithObjects:rootViewController,navigationController, nil];
splitViewController.delegate = detailViewController;
// Add the split view controller's view to the window and display.
[window addSubview:splitViewController.view];
[window makeKeyAndVisible];
return YES;
}
/* In the detail view controller*/
- (void)viewDidLoad
{
[super viewDidLoad];
frame = CGRectMake(round((self.view.bounds.size.width - kImageWidth) / 2.0),
kTopPlacement, kImageWidth, kImageHeight);
self.containerView = [[[UIView alloc] initWithFrame:frame] autorelease];
[self.view addSubview:self.containerView];
// The container view can represent the images for accessibility.
[self.containerView setIsAccessibilityElement:YES];
[self.containerView setAccessibilityLabel:NSLocalizedString(@"ImagesTitle", @"")];
// create the alternate image view (to transition between)
CGRect imageFrame = CGRectMake(0.0, 0.0, kImageWidth, kImageHeight);
self.currentPageView = [[[UIImageView alloc] initWithFrame:imageFrame] autorelease];
self.currentPageView.image = [UIImage imageNamed:@"page1.bmp"];
[self.containerView addSubview:currentPageView];
frame = CGRectMake(0.0, 0.0, kImageWidth, kImageHeight);
self.nextPageView = [[[UIImageView alloc] initWithFrame:frame] autorelease];
}
- (IBAction)insertNewObject:(id)sender
{
// Code to Flip an image
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kTransitionDuration];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:([self.currentPageView superview] ?
UIViewAnimationTransitionCurlUp : UIViewAnimationTransitionCurlDown)
forView:self.containerView cache:YES];
if ([self.currentPageView superview])
{
[self.currentPageView removeFromSuperview];
[self.nextPageView setImage:[UIImage imageNamed:@"page2.bmp"]];
[self.containerView addSubview:nextPageView];
}
else
{
[self.nextPageView removeFromSuperview];
[self.currentPageView setImage:[UIImage imageNamed:@"page1.bmp"]];
[self.containerView addSubview:currentPageView]; // error I get on AddSubView method.
}
[UIView commitAnimations];
}
When I am running this app using iPad Simulater I am getting errors : some time 2010-03-24 14:23:27.071 SpilitViewTest[26530:207] *** -[CALayer setImage:]: unrecognized selector sent to instance 0x5229080
2010-03-24 14:23:27.083 SpilitViewTest[26530:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[CALayer setImage:]: unrecognized selector sent to instance 0x5229080'
error message is getting chage.
I am trying to implement the view animation with splitView based application . Pls advise 🙂