我在Monotouch开发iOS应用程序。我需要在自定义按钮中设置TitleEdgeInsets坐标的动画。我从UIButton派生了我的自定义按钮类,因为我需要在按下按钮时为按钮和标签设置动画。按钮很简单。但是当它为标题标签制作动画时,我发现了一个问题。我只需要按钮标签垂直向底部移动。按钮标题标签的y坐标可以设置为:" this.TitleEdgeInsets.Top"。但是当它直接设置时,该属性似乎没有动画。
这是我的尝试方法:
public void AnimateButtonPressing()
{
var button_offset = 20.0f;
var basicAnimation = CABasicAnimation.FromKeyPath ("TitleEdgeInsets");
basicAnimation.TimingFunction = CAMediaTimingFunction.FromName (CAMediaTimingFunction.Linear);
UIEdgeInsets oldInset = this.TitleEdgeInsets;
UIEdgeInsets newInset = new UIEdgeInsets(button_offset,oldInset.Left,oldInset.Bottom,oldInset.Right);
basicAnimation.From = NSValue.FromUIEdgeInsets (oldInset);
basicAnimation.To = NSValue.FromUIEdgeInsets (newInset);
basicAnimation.Duration = 0.5f; //0.5 seconds
this.Layer.AddAnimation (basicAnimation, "TitleEdgeInsets");
}
上述方法不起作用。它根本没有动画。
感谢任何帮助,谢谢。