我正在尝试使用以下代码为我的自定义视图的移动设置动画(我最好从来自Apples自己文档的objective-c翻译)
var animDict = new NSMutableDictionary ();
animDict [NSViewAnimation.TargetKey] = this.View;
animDict [NSViewAnimation.StartFrameKey] = NSValue.FromRectangleF (this.View.Frame);
animDict [NSViewAnimation.EndFrameKey] = NSValue.FromRectangleF (new RectangleF (0, 150 * index, 400, 150));
var theAnim = new NSViewAnimation ();
theAnim.SetValuesForKeysWithDictionary (animDict);
theAnim.Duration = 2;
theAnim.StartAnimation ();
但是在运行应用程序时出现以下运行时错误:2011-05-08 00:53:30.827 EpisodeNext [61715:613] [setValue:forUndefinedKey:]:此类不符合键值编码关键的NSViewAnimationTargetKey。
知道我做错了什么吗?感谢名单!
答案 0 :(得分:3)
您无法使用方法SetValuesForKeysWithDictionary
将动画密钥传递给NSViewAnimation
实例。
您必须使用NSViewAnimation(NSDictionary[] viewAnimations)
构造函数来传递动画词典。
答案 1 :(得分:2)
//为第一个视图创建属性字典。
NSMutableDictionary firstViewDict = new NSMutableDictionary ();
//var firstViewRect = new NSDictionary[] { };
firstViewDict [NSViewAnimation.TargetKey] = animateWindow;
firstViewDict [NSViewAnimation.StartFrameKey] = NSValue.FromRectangleF (new RectangleF (1000, 300 , this.Frame.Width - 40, 0));
firstViewDict [NSViewAnimation.EndFrameKey] = NSValue.FromRectangleF (SettingNSWindow.Frame);
//var NSDict = new NSDictionary[]{ };
NSDictionary[] NSDict = new NSDictionary[]{firstViewDict};
//NSDict.Cast(NSMutableDictionary = (NSDictionary[])firstViewDict;
NSViewAnimation theAnim = new NSViewAnimation(NSDict);
//theAnim.SetValuesForKeysWithDictionary (firstViewDict);
theAnim.Duration = 2;
theAnim.StartAnimation ();