2011-03-30 89 views
1

我有一個客戶,誰最近要求是: overlayiphone視圖疊加

我的想法是,該文本可以在一個flipover視圖的背面更好的顯示,它看起來像它可能在一個問題審批流程。有什麼辦法可以做到這一點,我甚至想嘗試嗎?你可以分享資源嗎? 在此先感謝。

編輯:我要澄清的是,導航欄和表背後會錄音照片時滑過。一個水龍頭會讓它顯示出來,另一個水龍頭會讓酒吧和桌子隱藏起來。

回答

0

這實際上很不錯。通常很難讓客戶滿足您的要求,而這至少會告訴您他們想要達到的目標。我會花一些時間再處理界面,因此它會在應用程序商店可以接受的(假設你要發佈那裏),也許更符合正常使用的iOS UI元素保持一致。準備給你的客戶一些解釋爲什麼這個特定的設計留下了一些想要的東西,但嘗試提出一個他們會同意的設計顯然更好。 (還有很多改進的餘地在這裏,所以它不應該是太辛苦了。)

如果你的客戶是絕對拘泥於這個確切的UI,它可能是時間來尋找新的客戶。但是,如果它們合理,周到,並且有點靈活,這可能是一個不錯的應用程序的開始。

+0

我加了一些細節,以什麼樣的圖片實際上意味着,問題是客戶不靈活有關的變化。 – irco 2011-03-30 18:23:05

+0

您可以隨時向他們展示Apple的App Store評論指南。那裏至少有一個項目表示以非標準方式使用標準UI元素可能會導致拒絕。我從來沒有見過像iPhone應用程序中展示的部分導航欄,我懷疑它會被接受。不過,您可以在不需要時隱藏導航欄。 – Caleb 2011-03-30 18:27:16

+0

我知道!多數民衆贊成我做什麼,我給的鏈接,爲什麼我認爲這將違反準則的原因,我想我與其他開發人員進行檢查。我已經看到在ios中完成的瘋狂的東西,但這似乎不僅醜陋,但也不是很實用 – irco 2011-03-30 18:33:11

0

你可以做到這一點。將圖片(UIImageView)放入包裝UIView中。將文本也放入包裝器UIView中的UITextView中。然後在它們之間設置一個翻轉過渡動畫,讓你想要的任何一個到子視圖堆棧的底部。 您可以檢查Apple的HIG中潛在的用戶界面違規:http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html

+0

我不知道我得到你想說的話。我知道該怎麼做翻動過渡,這就是我想要的客戶同意,而是他希望有一塊的導航欄和UITableView的對另一種觀點認爲,同時還具有另一部分可見的頂部。我添加了一些細節來描述 – irco 2011-03-30 18:17:04

+0

我對你想要的東西有點清楚。我同意Caleb關於重新設計UI的問題。但是如果你想表到/滑出,然後將表格框架,使.origin.x> main_view.frame.origin.x + main_view.frame.size.width(偏右)。然後在你的動畫塊,tableView.frame.origin.x - = tableView.frame.size.width(它移動到您想要的位置) – Rayfleck 2011-03-30 18:38:03

+0

我試圖在導航欄中從右側視圖一起滑動,在當前視圖之上。我假設你的意思是.origin.x意味着表的來源,我會做同樣的導航欄嗎? – irco 2011-03-30 18:47:25

0
+(id)showAlert{ 
    UIViewController *controller = [[UIViewController alloc] initWithNibName:@"Overlay" bundle:nil]; 
    Overlay *alert = (Overlay*)controller.view; 
    //alert.iTag = iiTag; 
    alert.tag = iiTag; 
    return alert; 
} 

-(void)addAnimation{ 
    self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001); 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.3/1.5]; 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(bounce1AnimationStopped)]; 
    self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1); 

    [UIView commitAnimations]; 
} 

- (void)bounce1AnimationStopped { 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.3/2]; 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(bounce2AnimationStopped)]; 
    self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9,0.9); 
    [UIView commitAnimations]; 
} 
- (void)bounce2AnimationStopped { 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.3/2]; 
    self.transform = CGAffineTransformIdentity; 
    [UIView commitAnimations]; 

} 

- (CGAffineTransform)transformForOrientation { 
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 
    if (orientation == UIInterfaceOrientationLandscapeLeft) { 
     return CGAffineTransformMakeRotation(M_PI*1.5); 
    } else if (orientation == UIInterfaceOrientationLandscapeRight) { 
     return CGAffineTransformMakeRotation(M_PI/2); 
    } else if (orientation == UIInterfaceOrientationPortraitUpsideDown) { 
     return CGAffineTransformMakeRotation(-M_PI); 
    } else { 
     return CGAffineTransformIdentity; 
    } 
} 

-(void)stopAnimatton{ 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:1.0]; 
    [UIView setAnimationDelay:2.0]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    [UIView setAnimationDelegate:self]; 
    self.transform = CGAffineTransformMake(00.1, 00.1,0.001, 0.001, 0.001, 0.001); 
    [UIView commitAnimations]; 
}