iphone视图覆盖
我有一位客户最近要求: 我的想法是,文本可以更好地显示在翻转视图的背面,而且它看起来可能是审批过程中的一个问题。有没有办法做到这一点,我想试试吗?你可以分享哪些资源? 提前谢谢iphone视图覆盖,iphone,uiview,uinavigationbar,Iphone,Uiview,Uinavigationbar,我有一位客户最近要求: 我的想法是,文本可以更好地显示在翻转视图的背面,而且它看起来可能是审批过程中的一个问题。有没有办法做到这一点,我想试试吗?你可以分享哪些资源? 提前谢谢 编辑:我应该澄清一下,当在后面录制图片时,导航栏和表格会滑过。一次轻触将使其显示,另一次轻触将使条形图和表格隐藏。您可以这样做。将图片(UIImageView)放入包装器UIView中。将文本放在UITextView中,也放在包装器UIView中。然后,在它们之间设置翻转过渡动画,将任意一个翻转过渡带到子视图堆栈的底部
编辑:我应该澄清一下,当在后面录制图片时,导航栏和表格会滑过。一次轻触将使其显示,另一次轻触将使条形图和表格隐藏。您可以这样做。将图片(UIImageView)放入包装器UIView中。将文本放在UITextView中,也放在包装器UIView中。然后,在它们之间设置翻转过渡动画,将任意一个翻转过渡带到子视图堆栈的底部。
你可以在苹果的HIG中检查潜在的UI违规行为:这实际上相当不错。通常很难让客户给你提供需求,这至少向你展示了他们想要实现的目标。我会花一些时间重新设计UI,使其在应用商店中可以接受(假设您将在那里发布),也许更符合iOS UI元素的正常使用。准备好给你的客户一点解释为什么这个特殊的设计会留下一些不尽如人意的地方,但是试着想出一个他们会同意的设计显然更好。(这里有很大的改进空间,所以应该不会太难。)
如果您的客户完全与这个UI结合在一起,那么可能是时候找到一个新客户了。但是如果他们是合理的、深思熟虑的,并且有点灵活,这可能是一个好应用的开始。我不确定我是否明白你想说的。我知道如何进行翻转转换,这是我希望客户同意的,但他希望导航栏和UITableView位于另一个视图的顶部,而另一部分仍然可见。我添加了一些细节来描述。我更清楚地知道你想要什么。我同意Caleb关于重新设计UI的意见。但是,如果希望表格滑入/滑出,请将表格边框设置为.origin.x>main_view.frame.origin.x+main_view.frame.size.width(向右关闭)。然后在动画块中,tableView.frame.origin.x-=tableView.frame.size.width(将其移动到所需的位置)。我正在尝试从当前视图的右侧和顶部沿视图在导航栏中滑动。我假设你的意思是.origin.x表示表的原点,我会对导航栏做同样的操作吗?我假设导航栏和表都是某个容器视图的子视图。只需在容器视图上进行帧调整,其内容就会随之改变。我在图片的实际含义中添加了一些细节,问题是客户端对更改不灵活。你可以随时向他们展示苹果的应用商店审查指南。其中至少有一条指出,以非标准方式使用标准UI元素可能会导致拒绝。我从未见过像你在iPhone应用程序中显示的部分导航条,我怀疑它是否会被接受。你可以在不需要的时候隐藏导航栏,我知道!这就是我所做的,我发送了链接以及我认为这会违反指导原则的原因,我想我会与其他开发人员核实一下。我在ios中看到过一些疯狂的东西,但这看起来不仅丑陋,而且不太实用
+(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];
}