Frage

Ich versuche, eine Anwendung zu erstellen, die das iPhone MapView (unter Google Code) verwendet. Ich kann nicht herausfinden, wie man dieses Ding in meine Anwendung zu integrieren, ohne die gesamten UI Handschrift, dh nicht die IB überhaupt verwendet wird.

Wie kann ich den Interface Builder verwenden, um alle meine Menüs und so zu schaffen, sondern die MapView in hinzufügen? Muss ich die MapView bearbeiten es eine IB-Komponente zu machen?

Danke!

EDIT:

@pgb

Hier ist mein Code, es zeigt immer noch nur eine leere UIView, ich habe alles auf der IB Seite angeschlossen.

//
//  NewTestViewController.h
//  NewTest
//

#import <UIKit/UIKit.h>

@interface NewTestViewController : UIViewController {
 UIView* mapPlaceholder;

}
@property (nonatomic, retain) IBOutlet UIView* mapPlaceholder;
@end

//
//  NewTestViewController.m
//  NewTest
//

#import "NewTestViewController.h"
#import "MapView.h"

@implementation NewTestViewController
@synthesize mapPlaceholder;



// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        MapView *mapView = [[[MapView alloc] initWithFrame:
        [[UIScreen mainScreen] applicationFrame]] autorelease];
  [mapPlaceholder addSubview:mapView];
    }
    return self;
}


/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/


/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/


/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
 // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

 // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
 // Release any retained subviews of the main view.
 // e.g. self.myOutlet = nil;
}


- (void)dealloc {
 [mapPlaceholder.subviews release];
    [super dealloc];
}

@end

NEVERMIND figured it out Thangs PBG

War es hilfreich?

Lösung

Sie können sich wahrscheinlich die ganze Schnittstelle in IB erstellen, ein leeres UIView als Platzhalter Ansicht hinzufügen und dann addSubview: verwenden, um die MapView Instanz zu der Ansicht Hierarchie hinzuzufügen.

Ihre Platzhalter Ansicht kann als IBOutlet definiert werden, so dass Sie können dann die MapView von Ihrer UIViewController Instanz hinzufügen.

Andere Tipps

In IB Sie eine UIView hinzufügen und dann den Typ der zu jeder benutzerdefinierten UIView Ansicht ändern - ich gehe davon aus MapView Subklassen uiview wie MKMapView tut ...

  

Ich versuche, eine Anwendung zu erstellen, die das iPhone MapView (unter Google Code) verwendet.

Warum nicht MapKit benutzen? Sicherlich IB kommt mit einem MKMapView in seiner Bibliothek.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top