2012-01-17 65 views
0

移动图像我想移动图像到另一个x,y位置。我尝试这个代码,但不工作3秒后崩溃。错误是:2012-01-17 12:40:47.213 YapiKrediDemo [1986:207] - [Sozlesme moveImage:]:无法识别的选择器发送到实例0x6c316c0。如何在目标C

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view from its nib. 

image1=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"GirisButton.png"]]; 

[NSTimer scheduledTimerWithTimeInterval: 3 
           target: self 
           selector:@selector(moveImage:) 
           userInfo: nil repeats:YES]; 
} 

-(void) moveImage 
{ 
//[image1 setCenter: CGPointMake(634, 126)]; 
CGPoint pointOne=CGPointMake(634, 126); 
image1.center=pointOne; 
} 

我该如何解决?

+0

你应该写上你的.h文件中的moveImage方法的原型,这就是你的问题。 – relower 2012-01-17 10:48:07

+0

^那不是真的。他不必在H文件中定义选择器。两个答案都在下面描述了为什么这不起作用。 – 2012-01-17 11:05:35

回答

1

选择器是@selector(moveImage)。没有:在最后。或者你必须添加一个参数到moveImage方法。这就是你应该做的。 - (void)moveImage:(NSTimer*)timer

+0

我尝试用这个@selector(moveImage )和 - (无效)moveImage:(*的NSTimer)计时器,但我得到了错误2012-01-17 14:01:11.417 YapiKrediDemo [2147:207] - [Sozlesme moveImage]:无法识别的选择发送到实例0x6e07540 – 2012-01-17 12:00:52

+0

没有SRY你小姐理解我。如果你使用' - (void)moveImage:(NSTimer *)timer',你必须使用'@selector(moveImage:)' – V1ru8 2012-01-17 12:23:13

+0

好的我明白了:) – 2012-01-17 12:32:07

2

你的选择必须@selector(moveImage)没有冒号。 moveImage:将意味着一个参数是预期的,而你的方法下面的方法不接受任何参数。

你也可以只改变框架。

CGRect myFrame = image1.frame; 
myFrame.origin.x = 634; 
myFrame.origin.y = 126; 
image1.frame = myFrame; 
+0

我尝试这种方式也行,不过我仍然得到错误2012-01-17 13:57:55.846 YapiKrediDemo [2058:207] - [Sozlesme moveImage:]:无法识别的选择发送到实例0x6a240c0 – 2012-01-17 11:58:59