I have some query regarding tableViewCell.
There are many values added in an array for the table cells / rows. Now, each cell has info button as static. Each element of an array has dictionary and it has these two values, cellvalue and detail value.
Now, when user clicks on info button, the cell itself flip and display details of it.
See, we have utility application as an example of flip, but in utility application, entire view controller is been flipped.
I have tried following code.
As an example of this flipping animation:
- open dash board
- drag clock on screen
- now see the clock, it has info button on it’s bottom.
- click on that button
- clock will be flipped.
- now click on done. it will be flipped again to original
I want to implement the same, and I have two many values for this.
-(void)btnInfoTapped:(NSDictionary*)sender cellID:(NSString*)cellID{
if(tmpVCtr!=nil && [tmpVCtr retainCount]>0){ [tmpVCtr release]; tmpVCtr=nil; }
tmpVCtr=[[UIViewController alloc] init]; // temp view controller
if(nxtEventInfoVCtr!=nil && [nxtEventInfoVCtr retainCount]>0){ [nxtEventInfoVCtr release]; nxtEventInfoVCtr=nil; } // a view controller which is going to be flipped.
nxtEventInfoVCtr=[[EventInfoVCtr alloc] initWithNibName:@"EventInfoVCtr" bundle:nil];
nxtEventInfoVCtr.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
NSLog(@"%@",[sender description]);
// here i am settings values for flipped view controller
if([sender valueForKey:@"pendingextratext"]){
nxtEventInfoVCtr.strText=[sender valueForKey:@"pendingextratext"];
nxtEventInfoVCtr.strTitle=[sender valueForKey:@"pendingdescription"];
CustomCellPending *tmp=(CustomCellPending *)[tblMain dequeueReusableCellWithIdentifier:cellID];
[tmpVCtr setView:[tmp backgroundView]];
[tmpVCtr presentModalViewController:nxtEventInfoVCtr animated:YES];
} else {
nxtEventInfoVCtr.strText=[sender valueForKey:@"payextratext"];
nxtEventInfoVCtr.strTitle=[sender valueForKey:@"paydescription"];
CustomCellPay *tmp=(CustomCellPay *)[tblMain dequeueReusableCellWithIdentifier:cellID];
[tmpVCtr setView:[tmp backgroundView]];
[tmpVCtr presentModalViewController:nxtEventInfoVCtr animated:YES];
}
}
What I want is to flip a view controller within a cell. Is it possible?
Firstly, and it’s probably just a personal taste, but your code is a bit untidy – there’s nothing wrong with a few linebreaks you know 😉
About your problem, I would suggest you use two views within the cell – one will be the cell’s default contentView, and the other a custom view that you create yourself.
Then you can write some code into your table view controller that will respond to the info button press. That method should decide which table cell it’ll be flipping, using the indexpath, and then carry out the standard view flip using either core animation or a simplistic UIView animation with a flip transition.
It’s important to know that each
tableViewCelldoesn’t have a controller for itself by default (you can create one if you want), so when you’re dealing with table view cells, most of the things you’re interested in will be dealt with by the table view controller.Things look up:
+beginAnimations:forContext:+setAnimationTransition:forView:cache: