2010-01-02 17 views

Antwort

17

ist ein Beispiel dafür, wie Sie dies tun können:

- (void)viewDidLoad 
{ 

    //standard UIScrollView is added 
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
    [self.view addSubview:scrollView]; 

    scrollView.pagingEnabled = YES; 
    scrollView.contentSize = CGSizeMake(320*2, 460); //this must be the appropriate size! 

    //required to keep your view controllers around 
    controllers = [[NSMutableArray alloc] initWithCapacity:0]; 

    //just adding two controllers 
    LabeledViewController *one = [[LabeledViewController alloc] initWithPosition:0 text:@"one"]; 

    [scrollView addSubview:one.view]; 
    [controllers addObject:one]; 

    LabeledViewController *two = [[LabeledViewController alloc] initWithPosition:1 text:@"two"]; 
    [scrollView addSubview:two.view]; 
    [controllers addObject:two]; 
} 

LabeledViewController ist ziemlich einfach, aber man kann so viel, um es hinzuzufügen, wie Sie wollen:

@implementation LabeledViewController 

- (id)initWithPosition:(NSInteger)position text:(NSString*)text 
{ 
    if (self = [super init]) { 
     myPosition = position; 
     myText = [text retain]; 
    } 
    return self; 
} 


- (void)viewDidLoad 
{ 
    //this will setup the position in the UIScrollView 
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(320*myPosition, 0, 320, 460)]; 
    self.view = view; 

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 320, 50)]; 
    label.text = myText; 

    [self.view addSubview:label]; 
} 
+0

Yep, Sie kann grundsätzlich Ihren View-Controller als View über seine View-Eigenschaft verwenden. viewController.view oder [viewController-Ansicht]. –

+0

Danke für den Code! Eine Anmerkung, Sie sollten [super loadView] in loadView nicht aufrufen. Stattdessen können Sie am Anfang eine Sicht erstellen. UIView * myView = [[UIView alloc] init]; Fügen Sie die scrollView zu myView und dann am Ende do self.view = myView –

+1

Dies funktioniert. Ich habe jedoch Tasten in meiner Ansicht und möchte, dass der Subview-Controller auf Tasten reagiert. Ich habe es richtig verkabelt, aber ich bekomme einen Fehler, als ob mein View-Controller nicht über die Aktionsmethoden verfügt. – SpaceTrucker

Verwandte Themen