2013-08-30 120 views
0

我試圖做一個應用程序,你可以在磁帶上'點燃',你點擊它會使圖像出現aka彈孔。我意識到我將不得不作出UIImageView出現,但我不知道如何。加載圖像時,屏幕上點擊

任何幫助表示讚賞

回答

1
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [[event allTouches] anyObject]; 
    CGPoint location = [touch locationInView:touch.view]; 
    NSLog(@"X cord: %f",location.x); 
    NSLog(@"Y cord: %f",location.y); 
} 

在上面的代碼,你將獲得當前的觸摸location.So放在那個位置你的形象。 希望它能幫助你。

0

UITapGestureRecognizer應用於您的視圖控制器視圖,並將其設置爲執行顯示圖像的操作/方法。

+0

它必須是故事板還是可以是xib?我在哪裏添加這個? –

+0

@FjcymBlah認爲你應該從一些基礎開始,學習Objective-C和iOS開發 – MCKapur

+0

我正在努力教自己,我做了其他形式的其他iOS開發方式,但我沒有使用Objective-C在製作iOS應用程序 –

1

確保您的視圖userInteractionEnabledYES

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

-(void) addBulletHoleImageAtLocation:(CGPoint)location { 
    UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(location.x, location.y, yourImageWidth, yourImageHeight)]; 
    imgView.image = [UIImage imageNamed:@"bulletHole.png"]; 
    imgView.contentMode = UIViewContentModeCenter; 
    [self.view addSubview:imgView]; 
    [imgView release]; //if NON ARC 
} 

您可以設置不同的contentMode一樣,UIViewContentModeScaleToFillUIViewContentModeScaleAspectFit,或者UIViewContentModeScaleAspectFill根據自己的需要。

+0

幾個錯誤 - 使用未聲明的標識符'yourImageWidth; - 爲「UIView的」無可見@interface聲明選擇「addSubView」 - ARC禁止「釋放」的明確消息發送 - 「釋放」的iis不可用:自動引用計數模式下不可 我假設這是如何處理我在創建我的項目時的設置,以任何方式解決此問題? –

+0

** 1)**您必須設置項目符號圖像的寬度和高度來代替yourImageWidth和yourImageHeight。 ** 2)**'[imgView release];'只需要你的項目是非ARC的,看起來它的ARC,你應該刪除那一行。 ** 3)** [self.view addSubView:imgView];'是拼寫錯誤,它應該'[self.view addSubview:imgView];'希望這有助於! – Hemang

1
// 
// ViewController.m 
// 

#import "ViewController.h" 

@implementation ViewController 

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

    UIImage *bulletImg = [UIImage imageNamed: @"bullet.png"]; 
    UIImageView *bulletView = [[UIImageView alloc] initWithImage: bulletImg]; 

    int bulletWidth = bulletImg.size.width; 
    int bulletHeight = bulletImg.size.height; 

    bulletView.frame = CGRectMake(
            location.x - (bulletWidth/2), // centered x position 
            location.y - (bulletHeight/2), // centered y position 
            bulletWidth, // width 
            bulletHeight // height 
           ); 

    [self.view addSubview: bulletView]; 
} 

@end