2012-09-08 36 views
1

我需要製作一個嚮導,其中包含多個收集用戶數據的交互式頁面。製作這麼多頁面是製作每一個窗口的艱鉅任務。有沒有簡單的課程或命令來管理它?製作嚮導的最佳方法

+3

嘗試過'UINavigationController'? – 2012-09-08 04:20:44

+0

abracadabra怎麼樣? –

回答

2

你可以採取幾種方法來做到這一點。首先,您可以使用UINavigationController,它允許您在多個視圖控制器之間輕鬆移動。如果你可以使用多個視圖控制器,這可能是最好的選擇。

要推到下一個控制器在一個導航堆棧,你可以使用:

UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"someID"]; 
[self.navigationController pushViewController:controller animated:YES]; 

UIScrollView也是一種選擇,但需要仔細的手工內存管理的項目移動在熒幕上,但是可以這樣做全部在一個班級。

[arrayOfViews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx,BOOL *stop) { 
    UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(320 * idx, 0, 320, 480)]; 
    float randNum = arc4random() % 255; 
    [subView setBackgroundColor:[UIColor colorWithRed:randNum/255.0 green:randNum/255.0 blue:randNum/255.0 alpha:1.0]]; 
    [myScrollView addSubview:subView]; 
    [myScrollView setContentSize:CGSizeMake(320 * (idx + 1), 480)]; 
}]; 

然後你最後和最靈活的選擇是隻讓你的主視圖的子視圖,你可以使自己的自定義動畫的每個項目圍繞如何移動在屏幕上。

[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
    [someSubview setTransform:CGAffineTransformConcat(CGAffineTransformMakeScale(0.5, 0.5), CGAffineTransformMakeTranslation(-300, -300))]; 
}completion:^(BOOL done){ 
    //some completion items 
}]; 
+0

謝謝。但我的意思是爲OSX編碼。我認爲UINavigationController僅適用於iOS。我對嗎? – Aug

+0

@ user1642260很抱歉,但大部分內容仍應在OS X中可用,將某些UI更改爲NS並相應地修復其他問題。 –

+0

謝謝。我用NS ...。這是最好的。 – Aug

1

擴展H2CO3的評論,你可能想要使用UINavigationController,假設用戶可以隨意倒退。然後,繼續前進,您只需將新的UIViewController推入堆棧。

或者,您可以查看故事板,這些故事板允許您使用IB定義整個事物,並使用IB進行轉換。不過,無論如何,這些最終都會嵌入到UINavigationController中。