将uiimageview起源复制到CGPoint

时间:2011-01-19 07:40:34

标签: iphone objective-c uiimageview cgpoint

我是iPhone / Objective-C编程的新手。我有一个UIImageView * myImage,其x,y,宽度,高度使用CGRect设置值(20,20,100,100)或其他;

Q1)当我执行以下操作时,为什么无法将原始值提取到CGPoint中。

CGPoint myPoint = myImage.frame.origin;

NSLog(@"X:%f Y:%f",mypoint.x, mypoint.y) // Prints X: 0.0 and Y: 0.0 instead of X:20.0 and Y: 20.o
NSLog(@"X:%f Y:%f",myImage.frame.origin.x, myImage.frame.origin.x) // Prints X: 20.0 and Y: 20.0  

上述NSLog语句不会打印myPoint的预期值,但会为myImage.frame.origin打印正确的值。为什么呢?

Q2)为什么我不能将@property设置为CGPoint?

1 个答案:

答案 0 :(得分:2)

1)你试过了吗?

CGPoint myPoint = CGPointMake(myImage.fram.origin.x, myImage.frame.origin.y);

2)经过som测试后,我发现你应该可以将你的CGPoint作为这样的属性:

@interface MyClass : NSObject {

CGPoint myPoint;
...
}
@property (nonatomic) CGPoint myPoint;

...
@end

然后:

@implementation MyClass
@synthesize myPoint;

...

@end

对我有用。

(我必须承认我还没有理解(非原子),如果有必要,但只要它有效......)