2012-01-11 38 views
16

Tôi cố gắng để dịch này snip đang tập trung trong Objective-C vào MonoTouchMonoTouch: Frame.Origin ở đâu?

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

Nhưng không thể tìm thấy nơi Origin là.

Trả lời

36

Bản đồ MonoTouch GCRect đến System.Drawing.RectangleF vì nó gần với những gì các nhà phát triển .NET đã sử dụng (ví dụ: System.Drawing/Windows Forms ...).

Vì vậy imageView.frame.origin.x sẽ trở thành imageView.Frame.Location.X có thể được đơn giản hóa theo imageView.Frame.X.

Nếu bạn thêm using MonoTouch.CoreGraphics; vào tệp nguồn của mình, bạn sẽ nhận được các phương pháp tiện ích mở rộng sẽ cung cấp cho bạn thay thế CGRectGetMidX, ví dụ:

views.Bounds.GetMidX() 

Vì vậy

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

nên trở thành

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

Liệu 'bản đồ với 'CGRect.Width' cũng CGRect.Size.Width'? – mr5