回答
-(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放在那個位置你的形象。 希望它能幫助你。
將UITapGestureRecognizer
應用於您的視圖控制器視圖,並將其設置爲執行顯示圖像的操作/方法。
確保您的視圖userInteractionEnabled
到YES
-(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
一樣,UIViewContentModeScaleToFill
,UIViewContentModeScaleAspectFit
,或者UIViewContentModeScaleAspectFill
根據自己的需要。
幾個錯誤 - 使用未聲明的標識符'yourImageWidth; - 爲「UIView的」無可見@interface聲明選擇「addSubView」 - ARC禁止「釋放」的明確消息發送 - 「釋放」的iis不可用:自動引用計數模式下不可 我假設這是如何處理我在創建我的項目時的設置,以任何方式解決此問題? –
** 1)**您必須設置項目符號圖像的寬度和高度來代替yourImageWidth和yourImageHeight。 ** 2)**'[imgView release];'只需要你的項目是非ARC的,看起來它的ARC,你應該刪除那一行。 ** 3)** [self.view addSubView:imgView];'是拼寫錯誤,它應該'[self.view addSubview:imgView];'希望這有助於! – Hemang
//
// 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
- 1. 點擊圖像填充屏幕
- 2. Android屏幕上點擊
- 3. 防止所有圖像加載,只加載在屏幕上可見的圖像
- 4. 用javascript下載屏幕上的圖像
- 5. 滾動android屏幕上的圖像屏幕上的圖像
- 6. 頭像圖片可點擊並在屏幕上顯示Xamarin.Forms
- 7. 在登錄屏幕上添加圖像
- 8. 試圖執行點擊時「觸摸梁」是在屏幕上
- 9. 加載圖像數組並加載下一張圖像,點擊
- 10. 臨時加載屏幕
- 11. 從陣列加載圖像到iPhone上的屏幕
- 12. 如何加載不在屏幕上的圖像
- 13. 只加載在屏幕上的圖像在div與css溢出
- 14. 預加載大量圖像,停止預加載屏幕
- 15. 將Web圖像加載到Android時出現黑色屏幕
- 16. 加載屏幕圖像有時不顯示
- 17. Flex移動,切換屏幕時緩慢加載圖像
- 18. GridView從SD卡加載圖像時顯示白色屏幕
- 19. 加載屏幕
- 20. 使用html/css3和WebView將圖像縮放到屏幕上...在圖像加載之前獲取白色屏幕
- 21. JS在屏幕上移動圖像並在末尾加載另一個圖像
- 22. C#單擊屏幕上的某個點
- 23. 創建在屏幕上點擊(安卓)
- 24. 點擊屏幕上的Iphone darkens div
- 25. 點擊Android的屏幕上的ImageView
- 26. 位置在黑莓屏幕上點擊
- 27. Android可點擊屏幕上的文字
- 28. 屏幕關閉上按鈕點擊
- 29. 如何點擊屏幕上的座標?
- 30. 屏幕上的約束更改點擊
它必須是故事板還是可以是xib?我在哪裏添加這個? –
@FjcymBlah認爲你應該從一些基礎開始,學習Objective-C和iOS開發 – MCKapur
我正在努力教自己,我做了其他形式的其他iOS開發方式,但我沒有使用Objective-C在製作iOS應用程序 –