2012-09-12 47 views
0

Xcode的地方,用戶觸摸的Xcode UITouch和UIImage的用戶觸摸置入圖像,其中觸摸

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
UITouch *touch=[[event allTouches]anyObject]; 
CGPoint point= [touch locationInView:touch.view]; 

UIImage *image = [[UIImage alloc]initWithContentsOfFile:@"BluePin.png"]; 
[image drawAtPoint:point]; 
} 

基本上觸摸屏圖像應該出現在那裏感動,但似乎沒有一個圖片...

回答

1
  1. 你應該像這樣初始化UIImage:

    UIImage *image = [UIImage imageNamed:@"BluePin"]; 
    
  2. 您應該使用UIImageVie如果要包含UIImage,則不能直接將UIImage放入UIView。

更新

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    UITouch *touch=[[event allTouches]anyObject]; 
    CGPoint point= [touch locationInView:touch.view]; 

    UIImage *image = [UIImage imageNamed:@"BluePin"]; 
    CGRect rect=CGRectMake(point.x, point.y, image.size.width, image.size.height); 
    UIImageView *imageView=[[UIImageView alloc]initWithFrame:rect]; 
    [imageView setImage:image]; 
    [self.view addSubview:imageView]; 
} 
+0

你能舉個例子嗎? – Aptlymade

+0

@ user1642948也許更新代碼可以幫助你。 – Mil0R3

+0

非常感謝你!還有一種方法可以讓圖像在一段時間內消失嗎?對不起,新的Xcode =) – Aptlymade

0

要添加到其他的答案,這裏是你如何製作動畫:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    NSLog(@"Touches began!"); 
    UITouch *touch= [[event allTouches] anyObject]; 
    CGPoint point= [touch locationInView:touch.view]; 

    UIImage *image = [UIImage imageNamed:@"BluePin.png"]; 

    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    [imageView setFrame: CGRectMake(point.x-(imageView.bounds.size.width/2), point.y-(imageView.bounds.size.width/2), imageView.bounds.size.width, imageView.bounds.size.height)]; 
    [self addSubview: imageView]; 
    //self.currentPins += 1; 

    [UIView animateWithDuration:2.0 delay:1.0 options:UIViewAnimationOptionCurveLinear animations:^{ 
     [imageView setAlpha:0.0]; 
    } completion:^(BOOL finished) { 
     [imageView removeFromSuperview]; 
     //self.currentPins -= 1; 
    }]; 

    // for(;self.currentPins > 10; currentPins -= 1){ 
    //  [[[self subviews] objectAtIndex:0] removeFromSuperview]; 
    // } 
} 

註釋掉的代碼是一點點額外的我寫的假設您擁有一個名爲的@property currentPins,一次將屏幕上的引腳數量限制爲10。經過測試,它的工作原理,假設我在複製,粘貼和評論幾行後沒有搞亂任何東西。

編輯:無視註釋掉的代碼。我實際上混合了兩個版本(一個沒有動畫,一個),所以它被打破了。

+0

好的非常感謝你!並確定會做很好的網站上的任何提示,以瞭解更多關於Xcode? – Aptlymade

+0

您的意思是學習Xcode,如在軟件IDE(軟件)或Objective-C(編程語言)和Cocoa Touch(框架)中?到目前爲止,您已將所有內容都稱爲Xcode。 xD不知道Xcode,因爲我通過修改和_編程iOS 5_瞭解了界面。谷歌了一些Xcode 4教程,也許?至於Objective-C和Cocoa Touch,我建議您閱讀Apple的文檔(http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/_index.html)並獲得一本好書。 – Metabble

+0

是啊obc /可可觸摸感謝任何書籍建議我優先考慮書籍lol less paper – Aptlymade