소셜 미디어 IOS 앱 - 인형에서 터치를 추적하는 방법

IOS 앱 - 인형에서 터치를 추적하는 방법

비디오: 8년차 앱등이가 알려주는, 아이폰 숨겨진 꿀기능 5가지! 이거 왜 다들 몰라요 ㅠㅠ 2024

비디오: 8년차 앱등이가 알려주는, 아이폰 숨겨진 꿀기능 5가지! 이거 왜 다들 몰라요 ㅠㅠ 2024
Anonim

iOS 앱에서 자동차를 드래그하여 화면의 아무 곳에 나 배치 할 수 있다면 좋을 것입니다. 여기서는 객체 드래그를 코딩하는 방법과 iOS 장치에서 작업하는 방법을 알아 봅니다. 손가락을 건 드리면 UI 이벤트 객체에

캡슐화 된 (포함 된) 터치 이벤트가 응용 프로그램의 이벤트 대기열에 추가됩니다. UITouch 개체가 화면을 터치하는 각 손가락에 대해 존재하므로 개별 터치를 추적 할 수 있습니다.

touchesBegan: withEvent: 하나 이상의 손가락이보기에서 터치되면 메시지가 전송됩니다. 이 메시지는 Test Controller가 파생 된 TestDriveController의 수퍼 클래스 인 UIResponder의 한 메소드입니다. 사용자가 계속해서 손가락으로 화면을 터치하면, 시스템은 대응하는 UITouch 오브젝트에 각 손가락에 대한 변경 사항을보고함으로써 touchesMoved: withEvent: 메시지를 전송합니다. touchesEnded: withEvent: 하나 이상의 손가락이 연관된보기에서 들어올 때 메시지가 전송됩니다. touchesCancelled: withEvent: 메시지는 시스템 이벤트 (예: 메모리 부족 경고)가 터치 이벤트를 취소 할 때 전송됩니다.

이 응용 프로그램에서는 방금 설명한 처음 두 가지 방법에만 관심이 필요합니다.

터치 이벤트에 응답하는 프로세스를 시작하려면 TestDriveController에 새 인스턴스 변수 (굵은 체)를 추가하십시오. m 구현 파일.

@interface TestDriveController () {AVAudioPlayer * backgroundAudioPlayer; SystemSoundID burnRubberSoundID;

BOOL touchInCar;

} -d

다음으로 touchesBegan: 메소드를 TestDriveController에 추가하십시오. m을 눌러 접촉 추적을 시작하십시오. UIViewController가 UIResponder 기본 클래스에서 상속하므로 실제로이 메서드를 재정의합니다. . NSSet의 객체에 액세스하려면 anyObject 메서드를 사용합니다.이 객체는 세트의 객체 중 하나를 반환합니다. 여기서 우리는 하나의 객체를 가정합니다. 그러나 추가 가능성을 처리하는 방법을 이해할 수 있도록이 문제를 직접 탐구 해 볼 수 있습니다.

다음 코드는 anyObject 메소드를 설정하는 방법을 보여줍니다.

UITouch * touch = [touches anyObject];
다음으로 코드가 사용자의 터치 이벤트가 자동차 (UIImage)보기에 있는지 여부를 결정하게합니다. if (CGRectContainsPoint (self.차. 프레임, [locationInView 터치: 자기. view]))

CGRectContainsPoint는 사각형 (뷰 좌표)에 점이 있으면 YES를 반환하는 함수입니다. car 프레임을 사각형으로 지정합니다:

self. 차. frame

를 호출하고 locationInView: 메시지를 touch:

locationInView: self로 보내 포인트를 지정합니다. view

locationInView: 주어진 뷰의 좌표계에서 수신기의 현재 위치를 반환합니다. 이 경우 기본보기를 사용하고 있지만 다른보기 내에서 위치를 결정하려는 경우보기를 변경하고자 할 수 있습니다. 어쩌면 사용자는 이불 가스 페달을 만지고있을 것입니다.

터치가 자동차에 있다고 판단되면 touchInCar 인스턴스 변수에 YES를 지정합니다. 그렇지 않은 경우 NO를 지정하고 응답 체인에 메시지를 전달합니다. touchInCar를 나중에 사용하여 사용자가 차를 끌고 있는지 또는 화면 위로 손가락을 움직이는 지 여부를 결정할 수 있습니다.

touchesBegan의 기본 구현은 아무 작업도 수행하지 않습니다. 그러나 UIResponder에서 직접 파생 된 하위 클래스, 특히 UIView는 응답 체인에 메시지를 전달합니다. 메시지를 다음 응답자에게 전달하려면 메시지를 super (슈퍼 클래스 구현)로 보내십시오.

super (공통 사용 패턴)를 호출하지 않고 touchesBegan: withEvent:를 겹쳐 쓰는 경우, 스텁 (비어있는) 구현으로 만 터치 이벤트를 처리하는 다른 메소드도 대체해야합니다.

기본적으로 여러 번 터치 할 수 없습니다. 앱이 여러 터치 이벤트를 수신 할 수있게하려면 해당 뷰 인스턴스의 multipleTouchEnabled 속성을 YES로 설정해야합니다.

사용자가 기분 좋게 화면에서 자동차를 움직이면 (

자신에게 줌

확대), 앱에 지속적으로 touchesMoved: 메시지가 전송됩니다. Listing 10-13의 코드를 TestDriveController에 추가한다. 그 방법을 오버라이드하면 사용자의 손가락이있는 곳으로 차를 옮길 수 있습니다.

- (void) touchesMoved: (NSSet *) withEvent:(UIEvent *) 이벤트 {if (touchInCar) {UITouch * touch = [touches anyObject]; 본인. 차. center = [touch locationInView: 자기를 터치합니다.

첫 번째 터치가 Car 뷰에있는 경우 (touchInCar가 YES 인 경우) car의 center 속성을 터치 좌표에 할당합니다. center 속성에 새 값을 할당하면보기의 위치가 즉시 변경됩니다. 그렇지 않으면 터치를 무시하고 응답 체인에 메시지를 전달합니다.

버튼 옆에 자동차를 놓으면 드라이브 테스트 버튼을 터치 할 때 버튼 아래로 여행한다는 사실을 관찰하는 것은 흥미로운 일입니다. 이 기능은 하위 뷰 구조를 보여줍니다.

자동차를 움직이고 테스트 드라이브 버튼을 사용하여 실험하십시오. 시운전 중에 차를 위치시키기위한 공식에 문제가 있으면 차가 다른 곳에서 출발 할 때 볼 수 있습니다.

IOS 앱 - 인형에서 터치를 추적하는 방법

편집자의 선택

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

판매를위한 크로스 플랫폼 참여는 Best Buy입니다. Best Buy는 모바일 쇼핑 및 소셜 쇼핑을 매장의 각 품목에 대한 QR 코드를 사용하여 매장 내 경험으로 가져 왔습니다. 고객은 상점의 각 항목에 대한 QR 코드를 스캔하여 리뷰를 포함한 더 많은 정보를 얻을 수 있습니다.

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그 또는 사이트에서 Google 웹 로그 분석 추적 통계를 사용하여 빠르고 쉽게 설치할 수 있습니다. 설치는 1 분 밖에 걸리지 않으며 완전히 고통스럽지 않습니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스와 대시 보드에서 로그인하십시오.

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

단 1 분이며 고통스럽지 않습니다. 곧 Google 애널리틱스 덕분에 잠자는 동안 소셜 미디어 측정 항목을 추적하게 될 것입니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스 및 대시 보드에 로그인하고 톱니 바퀴 아이콘을 클릭하기 만하면됩니다. ...

편집자의 선택

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

다 변수 테스트뿐만 아니라 요인 일정을 유지하고 다양한 시나리오에서 다른 결과를 테스트하여 마케팅 자동화 테스트를 수행하는 것을 의미합니다. 하나의 유료 검색 광고를 통해 사람들을 2 개의 개별 방문 페이지로 유도하는 것이 그 예입니다. 방문 페이지 테스트하기 ...

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

마케팅 자동화 도구의 사용을 극대화하기 위해 먼저 사람과 콘텐츠와의 관계를 이해해야합니다. 올바른 사람에게 올바른 콘텐츠를 보내는 경우에만 자동화가 유용합니다. 이를 올바르게 수행하는 방법에 대한 기본적인 이해를 돕기 위해 사람들은 두 가지 유형이 관련되어 있음을 인식해야합니다 ...

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

고객 관계를 관리하는 데 도움이되는 Microsoft 도구 현대 직장에서 가장 유용한 도구 중 하나는 전자 메일이므로 전자 메일을 만들고 읽거나, 전자 메일을 특정 레코드에 연결하거나, 일정을 관리하는 데 숙련되어 있어야합니다. ...

편집자의 선택

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

당신은 자신의 웹 사이트 또는 블로그를 가지고 있고, 고객, 독자 또는 웹 호스팅 기술에 의존하는 추종자 만 있습니다. 다음 팁은 웹 호스팅 계획을 최대한 활용하는 데 도움이됩니다. 제어판에서 백업 옵션을 확인하십시오. 일부 제어판을 사용하면 자동화 된 백업을 수행 할 수 있습니다. ...

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

은 웹 호스트만큼 멋지고, 웹 사이트를 디자인, 제작 및 운영하는 데 도움이되는 일에는 한계가 있습니다. 그것은 모두 돈으로옵니다. 귀하가 기꺼이 지불하는 한 귀하의 호스트는 기꺼이 도움이 될 것입니다. 각 호스트는 다릅니다. ...