淡入淡出UILabel,改变文字,淡入淡出:只有淡入淡出
问题描述:
简单的任务:我想淡出一个UILabel
out(alpha = 0.0),改变文本,淡入到(alpha = 1.0f)和所有这些动画。我发现淡出不是动画,我做了一个小测试应用程序。淡入淡出UILabel,改变文字,淡入淡出:只有淡入淡出
如果我运行它,我可以看到当按下按钮时标签立即消失,然后消失。为什么忽略淡出?我搜索到了,我发现了完全像我使用它的代码。
这里有什么问题?我必须把它分开吗?如果淡出动画结束,创建另一个淡入淡出的动画?
UIButton btn = UIButton.FromType(UIButtonType.RoundedRect);
btn.Frame = new RectangleF(40, 40, 100, 30);
window.AddSubview(btn);
UILabel lbl = new UILabel(new RectangleF(100, 100, 100, 30));
lbl.Text = "A label";
window.AddSubview(lbl);
window.MakeKeyAndVisible();
btn.TouchUpInside += delegate {
UIView.Animate(1.0f, delegate {
lbl.Alpha = 0.0f;
lbl.Alpha = 1.0f;
}, null);
};
答
我不认为你可以动画两次相同的属性(在同一代表内)。还有其他的,更先进的,API,以便更复杂的动画,但我认为你可以伪装这一个容易使用:
btn.TouchUpInside += delegate {
UIView.Animate (0.5f, delegate {
lbl.Alpha = 0.0f;
}, delegate {
UIView.Animate (0.5f, delegate {
lbl.Alpha = 1.0f;
});
});
};
它只是做动画的完成行动中的第二部分,并拆分1.0时间在两点。 YMMV
有趣的是,我发现的所有样本都提出了我所尝试的内容,而且似乎没有人关心它实际上不起作用。 :-) – Krumelur
如果他们在Xamarin的网站上,请将它们指向我:-) – poupou
Nono,所有的ObjC。但仍然。 – Krumelur