view 动画
2015-08-28 14:37
225 查看
[self
showInView:[self
view]];
- (void) showInView:(UIView*)view
{
// 1. Hide the modal
// [[self modalView] setAlpha:0];
// 2. Install the modal view
[[view superview]
addSubview:[self
view]];
_shrunkView = view;
[[self
view] setFrame:_shrunkView.frame];
// 3. Show the buttons
[[self
containerView] setTransform:CGAffineTransformMakeTranslation(0, [[self
containerView] frame].size.height)];
// 4. Animate everything into place
[UIView
animateWithDuration:0.3
animations:^{
// Shrink the main view by 15 percent
CGAffineTransform t =
CGAffineTransformScale(CGAffineTransformIdentity,
.9, .9);
[view setTransform:t];
// Fade in the modal
// [[self modalView] setAlpha:1.0];
// Slide the buttons into place
[[self
containerView] setTransform:CGAffineTransformIdentity];
}
completion:^(BOOL finished) {
_visible =
YES;
}];
}
- (void) hideInView
{
// 2. Animate everything out of place
[UIView
animateWithDuration:0.3
animations:^{
// Shrink the main view by 15 percent
CGAffineTransform t =
CGAffineTransformIdentity;
[_shrunkView
setTransform:t];
// Fade in the modal
// [[self modalView] setAlpha:0.0];
// Slide the buttons into place
t = CGAffineTransformTranslate(t,
0, [[self
containerView] frame].size.height);
[[self
containerView] setTransform:t];
}
completion:^(BOOL finished) {
// [[self modalView] removeFromSuperview];
_visible =
NO;
_shrunkView=nil;
// if ([self.delegate respondsToSelector:@selector(hideFinished)]) {
// [self.delegate hideFinished];
// }
}];
}
showInView:[self
view]];
- (void) showInView:(UIView*)view
{
// 1. Hide the modal
// [[self modalView] setAlpha:0];
// 2. Install the modal view
[[view superview]
addSubview:[self
view]];
_shrunkView = view;
[[self
view] setFrame:_shrunkView.frame];
// 3. Show the buttons
[[self
containerView] setTransform:CGAffineTransformMakeTranslation(0, [[self
containerView] frame].size.height)];
// 4. Animate everything into place
[UIView
animateWithDuration:0.3
animations:^{
// Shrink the main view by 15 percent
CGAffineTransform t =
CGAffineTransformScale(CGAffineTransformIdentity,
.9, .9);
[view setTransform:t];
// Fade in the modal
// [[self modalView] setAlpha:1.0];
// Slide the buttons into place
[[self
containerView] setTransform:CGAffineTransformIdentity];
}
completion:^(BOOL finished) {
_visible =
YES;
}];
}
- (void) hideInView
{
// 2. Animate everything out of place
[UIView
animateWithDuration:0.3
animations:^{
// Shrink the main view by 15 percent
CGAffineTransform t =
CGAffineTransformIdentity;
[_shrunkView
setTransform:t];
// Fade in the modal
// [[self modalView] setAlpha:0.0];
// Slide the buttons into place
t = CGAffineTransformTranslate(t,
0, [[self
containerView] frame].size.height);
[[self
containerView] setTransform:t];
}
completion:^(BOOL finished) {
// [[self modalView] removeFromSuperview];
_visible =
NO;
_shrunkView=nil;
// if ([self.delegate respondsToSelector:@selector(hideFinished)]) {
// [self.delegate hideFinished];
// }
}];
}
相关文章推荐
- POJ -1258 Agri-Net
- 牛逼程序猿需要尝试的10种姿势
- RTSP流媒体地址
- webdriver屏幕截图(python)
- ViewPager缓存机制
- error C3861: “snprintf”: 找不到标识符
- js 一次元素点击响应2个事件函数
- Android中MIME类型的解释
- Protobuffer和json深度对比
- 阿里巴巴实习review
- Android 计算控件尺寸
- (12)事件和信号的区别
- 程序员面试经典源代码
- Another app is currently holding the yum lock解决方法
- 时间总结
- 如何更改项目所使用的C#版本
- laravel-v5.1数据库连接文件是.env文件
- CI实践_Android持续集成
- SPOJ HIGH 104 Highways 图的生成树计数 (Matrix-Tree定理)
- 修改CentOS Linux的时间可以使用date指令