我以编程方式创建了一个按钮:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(290, 120, 40,20); // position in the parent view and set the size of the button
[myButton setTitle:@"Back" forState:UIControlStateNormal];
// add targets and actions
[myButton addTarget:self action:@selector(backLogin:) forControlEvents:UIControlEventTouchUpInside];
// add to a view
[myButton setAlpha:0];
[self.view addSubview:myButton];
现在我想使用另一种方法再次隐藏此按钮并使用动画使按钮消失(!)。 显然,我不能再使用变量myButton而且我不想让变量成为全局变量。从图层中删除子视图不会动画我想。你有好主意吗?我不能让它工作......谢谢!
答案 0 :(得分:0)
我认为你没有采用正确的方法,但首先,你要在视图中添加一个隐形按钮。假设您打算添加alpha为1的按钮,我们就去了。
首先,为按钮设置标签:
myButton.tag = 1;
只要您没有将该标签用于其他内容,任何人都可以。
接下来在你的另一个方法中,我们可以遍历视图控制器中的子视图,我们可以找到标签为1的视图,并将其alpha设置为0并具有良好的淡入淡出效果:
for (UIButton *button in self.view.subviews) {
if (button.tag == 1) {
[UIView animateWithDuration:2.0 animations:^ {
button.alpha = 0;
}];
}
}
然而,这实际上是一个不好的方法,我强烈建议只创建一个实例变量。