iphone视图叠加

时间:2011-03-30 16:59:24

标签: iphone uiview uinavigationbar

我有一位客户最近要求:  overlay

我的想法是,文本可以更好地显示在翻转视图的背面,并且看起来它可能是批准过程中的问题。有没有办法做到这一点,我甚至想尝试?您可以分享资源吗? 提前致谢。

编辑:我应该澄清一下,当录制背后的图片时,NavigationBar和桌子会滑过。一个水龙头会显示,另一个水龙头会使酒吧和桌子隐藏。

3 个答案:

答案 0 :(得分:0)

你可以这样做。将图片(UIImageView)放在包装器UIView中。将文本放在包装器UIView中的UITextView中。然后设置它们之间的翻转过渡动画,将您想要的任何一个转移到子视图堆栈的底部。 您可以在Apple的HIG中检查潜在的UI违规行为:http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html

答案 1 :(得分:0)

这实际上非常好。通常很难让客户满足您的要求,这至少可以向您展示他们想要实现的目标。我花了一些时间来重新设计用户界面,以便在应用程序商店中可以接受(假设你要在那里发布),或许更多的是与iOS UI元素的正常使用保持一致。准备给你的客户一些关于为什么这个特定设计留下一些东西的解释,但试着想出一个他们会同意的设计显然更好。 (这里有很大的改进空间,所以不应该太难。)

如果您的客户完全坚持这个确切的用户界面,那么可能是时候找到一个新客户了。但如果它们合理,周到,并且有点灵活,这可能是一个不错的应用程序的开始。

答案 2 :(得分: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];
}