cocoaTouch/iPad/DetailViewController.m
changeset 3113 2829ea0dd47c
child 3165 3ec07a7d8456
equal deleted inserted replaced
3112:f1bbe35ddb83 3113:2829ea0dd47c
       
     1     //
       
     2 //  DetailViewController.m
       
     3 //  HedgewarsMobile
       
     4 //
       
     5 //  Created by Vittorio on 27/03/10.
       
     6 //  Copyright 2010 __MyCompanyName__. All rights reserved.
       
     7 //
       
     8 
       
     9 #import "DetailViewController.h"
       
    10 
       
    11 
       
    12 @implementation DetailViewController
       
    13 @synthesize navigationBar, popoverController, detailItem, test;
       
    14 
       
    15 /*
       
    16  // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
       
    17 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
       
    18     if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
       
    19         // Custom initialization
       
    20     }
       
    21     return self;
       
    22 }
       
    23 */
       
    24 
       
    25 
       
    26 // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
       
    27 - (void)viewDidLoad {
       
    28     [super viewDidLoad];
       
    29 }
       
    30 
       
    31 
       
    32 - (void)didReceiveMemoryWarning {
       
    33     // Releases the view if it doesn't have a superview.
       
    34     [super didReceiveMemoryWarning];
       
    35     
       
    36     // Release any cached data, images, etc that aren't in use.
       
    37 }
       
    38 
       
    39 
       
    40 - (void)viewDidUnload {
       
    41     [super viewDidUnload];
       
    42     // Release any retained subviews of the main view.
       
    43     // e.g. self.myOutlet = nil;
       
    44 }
       
    45 
       
    46 
       
    47 - (void)dealloc {
       
    48     [navigationBar release];
       
    49     [popoverController release];
       
    50     [detailItem release];
       
    51     [super dealloc];
       
    52 }
       
    53 #pragma mark -
       
    54 #pragma mark Managing the popover controller
       
    55 
       
    56 /*
       
    57  When setting the detail item, update the view and dismiss the popover controller if it's showing.
       
    58  */
       
    59 -(void) setDetailItem:(id) newDetailItem {
       
    60     if (detailItem != newDetailItem) {
       
    61         [detailItem release];
       
    62         detailItem = [newDetailItem retain];
       
    63         
       
    64         // Update the view.
       
    65         navigationBar.topItem.title = (NSString*) detailItem;
       
    66 
       
    67 		test.text=(NSString*) detailItem;
       
    68     }
       
    69 
       
    70     if (popoverController != nil) {
       
    71         [popoverController dismissPopoverAnimated:YES];
       
    72     }        
       
    73 }
       
    74 
       
    75 
       
    76 #pragma mark -
       
    77 #pragma mark Split view support
       
    78 
       
    79 -(void) splitViewController:(UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
       
    80     barButtonItem.title = @"Master List";
       
    81     [navigationBar.topItem setLeftBarButtonItem:barButtonItem animated:YES];
       
    82     self.popoverController = pc;
       
    83 }
       
    84 
       
    85 
       
    86 // Called when the view is shown again in the split view, invalidating the button and popover controller.
       
    87 -(void) splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
       
    88     [navigationBar.topItem setLeftBarButtonItem:nil animated:YES];
       
    89     self.popoverController = nil;
       
    90 }
       
    91 
       
    92 #pragma mark -
       
    93 #pragma mark Rotation support
       
    94 
       
    95 // Ensure that the view controller supports rotation and that the split view can therefore show in both portrait and landscape.
       
    96 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
       
    97     return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
       
    98 }
       
    99 
       
   100 -(IBAction) dismissSplitView {
       
   101     [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissModalView" object:nil];
       
   102 }
       
   103 
       
   104 @end