iOS에서 UIImageView에서 이벤트를 프로그래밍 방식으로 클릭합니다.
코드의 이미지를 표시합니다. 코드는 다음과 같습니다.
UIImageView *preArrowImage =[[UIImageView alloc]init ];
preArrowImage.image =[UIImage imageNamed:@"arrowprev.png"];
preArrowImage.frame = CGRectMake(20, 60, 10, 30);
[self.view addSubview:preArrowImage];
저는 preArrow Image의 터치 이벤트를 프로그래밍 방식으로 처리하고 싶습니다.
스위프트 5
let preArrowImage : UIImageView // also give it frame
let singleTap = UITapGestureRecognizer(target: self, action: #selector(tapDetected))
preArrowImage.isUserInteractionEnabled = true
preArrowImage.addGestureRecognizer(singleTap)
//Action
func tapDetected() {
print("Imageview Clicked")
}
목표-c
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected)];
singleTap.numberOfTapsRequired = 1;
[preArrowImage setUserInteractionEnabled:YES];
[preArrowImage addGestureRecognizer:singleTap];
-(void)tapDetected{
NSLog(@"single Tap on imageview");
}
간단히 추가UITapGesture
사용자 상호 작용을 활성화해야 합니다.
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(singleTapGestureCaptured:)];
[preArrowImage addGestureRecognizer:singleTap];
[preArrowImage setMultipleTouchEnabled:YES];
[preArrowImage setUserInteractionEnabled:YES];
스위프트에서!
let singleTap = UITapGestureRecognizer(target: self, action: Selector("tapDetected"))
singleTap.numberOfTapsRequired = 1
preArrowImage.userInteractionEnabled = true
preArrowImage.addGestureRecognizer(singleTap)
//Action
func tapDetected() {
println("Single Tap on imageview")
}
스위프트 3
UIImageView에서 사용자 상호 작용 활성화
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesEnded(touches, with: event)
if let touch = touches.first {
if touch.view == self.imgVwPostPreview { //image View property
//Do your actions
//self.delegate?.didClickOnCellImageView(indexPath: self.cellIndexPath!)
}
}
}
뷰 컨트롤러에서 뷰가 있는 스토리보드 사용.
제스처 인식기 중 하나를 선택한 후 컨트롤러로 끕니다.
이제 "문서 개요"와 뷰 컨트롤러 xib의 헤더에 표시됩니다.
제스처를 UI 사용 가능으로 끕니다.
헤더 파일에 IBAction 메서드 생성
이제 xib에서 핸들러에서 제스처 아이콘으로 끕니다.
사마린.iOS
UIImageView preArrowImage; // also give it frame
var singleTap = new UITapGestureRecognizer(TapDetected);
singleTap.ShouldReceiveTouch -= TapGesture_ShouldReceiveTouch;
singleTap.ShouldReceiveTouch += TapGesture_ShouldReceiveTouch;
preArrowImage.UserInteractionEnabled = true;
preArrowImage.AddGestureRecognizer(singleTap)
bool TapGesture_ShouldReceiveTouch(UIGestureRecognizer recognizer, UITouch touch)
{
return true;
}
void TapDetected(UITapGestureRecognizer tapGestureRecognizer)
{
print("Imageview Clicked")
}
UIImageView가 스토리보드 또는 Nib에서 가져온 IBOutlet인 경우 이미지 보기에 UIIStureRecognizer를 추가하고, 사용자 상호 작용을 활성화하고, IBAaction을 제스처 인식기에 연결할 수 있습니다.
자세한 내용은 이 질문에 대한 내 대답을 확인하십시오.스토리보드에서 UIImageView를 클릭 가능하게 만드는 방법(빠른)
다음은 다른 옵션입니다.속이다.
제 말은, 옆으로 생각해보세요.
UI이미지를 원하는 방식, 잘라낸 방식, 화면 맞춤 방식 등으로 설정할 수 있습니다.
이 위에 UIV 뷰(동일한 치수, 위치 등)를 덧씌웁니다.
배경을 선명한 색으로 설정하고 클래스를 UIControl로 설정합니다.
내부 이벤트를 핸들러에게 가리키고 voila.
언급URL : https://stackoverflow.com/questions/17120476/click-event-on-uiimageview-programmatically-in-ios
'programing' 카테고리의 다른 글
파일 시스템이 아닌 데이터베이스에 파일을 저장하시겠습니까? (0) | 2023.05.29 |
---|---|
터미널에서 bash 스크립트를 실행하려면 어떻게 해야 합니까? (0) | 2023.05.29 |
Git는 언제 원격 지점 목록을 새로 고칩니까? (0) | 2023.05.29 |
Excel VBA 앱이 자동으로 중지되고 "코드 실행이 중지되었습니다" 메시지가 표시됨 (0) | 2023.05.29 |
Xcode에서 Prefix.pch 파일은 무엇입니까? (0) | 2023.05.29 |