MonoTouch:Frame.Origin在哪里?

时间:2012-01-11 21:11:52

标签: c# ios mono xamarin.ios cgrect

我正在尝试将Objective-C中的这个居中代码片段转换为MonoTouch

imageView.frame.origin.x = CGRectGetMidX(view.bounds) - 
            CGRectGetMidX(imageView.bounds)

但找不到Origin的位置。

1 个答案:

答案 0 :(得分:40)

MonoTouch将GCRect映射到System.Drawing.RectangleF,因为它更接近.NET开发人员一直使用的内容(例如System.Drawing / Windows Forms ...)。

因此imageView.frame.origin.x将变为imageView.Frame.Location.X,可以简化为imageView.Frame.X

如果您将using MonoTouch.CoreGraphics;添加到源文件中,您将获得可为您提供CGRectGetMidX替换的扩展程序,例如

views.Bounds.GetMidX ()

所以

imageView.frame.origin.x = CGRectGetMidX(view.bounds) - CGRectGetMidX(imageView.bounds);

应该成为

imageView.Frame.X = view.Bounds.GetMidX () - imageView.Bounds.GetMidX ();