将子视图添加到更漂亮的视图中?

Posted

技术标签:

【中文标题】将子视图添加到更漂亮的视图中?【英文标题】:Add a subview to a view more beautifuly? 【发布时间】:2012-11-12 02:38:03 【问题描述】:

我希望能够淡入子视图。有没有一种方法可以为它设置动画,这样当我的子视图被添加时它就会淡入,而不仅仅是突然出现在那里。我知道我可以使用不同的 alpha 获取我的 imageview 的多个实例,然后以这种方式对其进行动画处理,但没有更简单的方法吗?

【问题讨论】:

你可能会发现我书中的动画章节很有用:apeth.com/iosBook/ch17.html#_view_animation 【参考方案1】:

是的,您可以在不需要不同图像的情况下为视图设置动画。以下代码将在 0.3 秒内淡出您的视图。

[myView setAlpha:0.0];
[myView setHidden:NO];
[UIView animateWithDuration:0.3 animations:^
  [myView setAlpha:1.0];
];

【讨论】:

【参考方案2】:

您只需要一个实例。 UIView.alpha 可以动画化。

【讨论】:

【参考方案3】:

您可以在添加子视图之前将 alpha 设置为 0,然后在 addSubview 之后制作动画,如下所示:

yourView.alpha = 0.0f;
[self.view addSubview:yourView];

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
yourView.alpha = 1.0f;
[UIView commitAnimations];

【讨论】:

以上是关于将子视图添加到更漂亮的视图中?的主要内容,如果未能解决你的问题,请参考以下文章

从另一个方法将子视图添加到子视图

仅将子视图添加到当前视图的 UINavigationBar

将子视图添加到视图控制器

iphone - 将子视图添加到窗口后无法推送模态视图?

Cocoa:将子视图添加到来自不同类和 nib 的视图

将子视图添加到屏幕问题