소셜 미디어 IOS 앱에서 지오 코딩을위한 컨트롤러 찾기 -

IOS 앱에서 지오 코딩을위한 컨트롤러 찾기 -

비디오: 스마트폰 고전게임(마메), 닌텐도, PSP 하는 방법 2024

비디오: 스마트폰 고전게임(마메), 닌텐도, PSP 하는 방법 2024
Anonim

iOS 앱에서 지오 코딩 기능을 사용하려면 몇 가지 작업을 수행해야합니다. Find 컨트롤러에있는 것들. 대부분 사용자가 입력해야하는 텍스트를 가져 오는 것을 중심으로해야합니다. 또한 텍스트를 지오 코딩해야하며 지오 코딩 된 위치가 Trip 컨트롤러 모델에 의해지도에 추가되는 Trip 모델 객체에 의해 Annotation으로 구현되어야합니다.

텍스트에 액세스하려면 먼저 텍스트 필드의 콘센트를 만들어야합니다. 다음 단계를 따르십시오.

  1. Main_iPad를 선택하십시오. 프로젝트 네비게이터의 스토리 보드.

  2. 문서 개요에서 마스터보기 컨트롤러를 선택합니다.

  3. Editor selector와 MasterViewController에서 Assistant를 선택하십시오. h 파일이 나타나지 않으면 점프 바를 사용하여 해당 파일로 이동하십시오.

  4. 문서 개요에서 마스터 뷰 컨트롤러 - 마스터 장면의 두 번째 테이블 뷰 섹션에 대한 펼침 삼각형을 열어 테이블 뷰 셀로 이동합니다.

  5. 표보기 셀을 열어 찾기 레이블과 텍스트가있는 내용보기를 나타냅니다.

  6. 해당 셀의 펼침 삼각형을 열어 텍스트 필드를 표시 한 다음 @interface 및 -d 컴파일러 지시문 사이의 테두리 스타일 텍스트 필드에서 마스터보기 컨트롤러 인터페이스 (어시스턴트 편집기의 컨트롤)로 드래그하고 추가합니다 findText라는 콘센트

이것은 콘센트를 만드는 또 다른 방법입니다.

UITextField 객체는 편집 가능한 텍스트를 표시하고 사용자가 Return 키를 누를 때 해당 델리게이트에 메시지를 보내는 컨트롤입니다. 일반적으로 UITextField 객체를 사용하여 사용자가 소량의 텍스트를 입력 한 다음 무언가를 검색하거나 무언가를 검색하거나 새 연락처를 추가 할 수 있습니다.

텍스트 필드를 선택하고 Xcode 도구 모음의 편집기 선택기에서 표준 편집기를 선택한 다음 유틸리티 영역을 엽니 다. Attributes 속성에서 여러 텍스트 필드 속성을 설정할 수 있습니다.

사용자가 텍스트를 입력 한 시점을 어떻게 알 수 있습니까? 또한 키보드를 표시하고 숨기는 방법은 무엇입니까? 사용자가 UITextField를 탭하면 첫 번째 응답자가되고 키보드가 자동으로 올라와 사용자가 텍스트를 입력 할 수있게됩니다. 그렇게하기 위해 할 일을 할 필요가 없습니다.

사용자가 텍스트 입력을 마쳤 으면 Return 키를 누릅니다. 이동 키로 레이블을 바꿀 수있는 Return 키를 누릅니다.

Go 키를 두드리면 텍스트 필드에 델리게이트가 있는지 여부와 델리게이트가 textFieldShouldReturn: 메서드 (선택 사항 인 UITextFieldDelegate 프로토콜 메서드 중 하나)를 구현하는지 여부가 결정됩니다.델리게이트가 그렇게하면, 델리게이트에게 textFieldShouldReturn: 메시지를 보냅니다. 그래서 textFieldShouldReturn:은 텍스트를 포착 할 장소입니다.

텍스트를 캡처하여 FindController로 보내려면 텍스트 필드의 델리게이트가되고 textFieldShouldReturn: 메서드를 구현해야합니다. 하지만 그렇게하기 전에 Interface Builder에서 한 가지 더해야합니다.

먼저 MasterViewController를 UITextFieldDelegate로 만듭니다. MasterViewController를 업데이트하십시오. h를 굵게 표시된 코드와 함께 사용하여 UITextFieldDelegate 프로토콜을 채택하도록합니다.

#import @interface MasterViewController: UITableViewController

@property (강하고 비 구조) DetailViewController * detailViewController; @property (weak, nonatomic) IBOutlet UITextField * findText; -d 무거움 작업은 TextField의 textFieldShouldReturn: delegate 메소드에서 수행됩니다. 대리자는 편집중인 텍스트 필드를 인수로 전달되며 마스터보기 컨트롤러는이를 찾기 컨트롤러로 전달합니다.

먼저, MasterViewController에 굵게 표시된 코드를 추가하여 MasterViewController 구현을 업데이트해야합니다. 엠.

#import "MasterViewController.h"#import "DetailViewController.h"#import "AppDelegate.h"#import "Trip. h

" #import "FindController. h" @implementation MasterViewController MasterViewController를 textField 대리자로 만들어야합니다. 이를 위해, MasterViewController의 viewDidLoad에 굵게 표시된 코드를 추가하십시오. 엠.

- (void) viewDidLoad {[super viewDidLoad]; AppDelegate * appDelegate = [[UIApplication sharedApplication] delegate]; 본인. title = appDelegate. 여행. destinationName; UIImageView * imageView = [[UIImageView alloc] initWithImage: [appDelegate. 여행 목적지 이미지]]; 본인. tableView. backgroundView = imageView; UISwipeGestureRecognizer * swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget: 자기 행동: @selector (handleSwipeGesture:)]; swipeGesture. direction = UISwipeGestureRecognizerDirectionLeft; [본인. addGestureRecognizer보기: swipeGesture];

자아. findText. 대의원 = 자기; } 이제 masterViewController에 코드를 추가하여 textFieldShouldReturn: delegate 메소드를 구현할 수 있습니다. 엠.

여기에 일부 라이브 이슈가 있습니다. FindController에 findLocation 속성을 추가해야합니다.

- (BOOL) textFieldShouldReturn: (UITextField *) textField {[textField resignFirstResponder]; ("[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {FindController * findController = [[UIStoryboard storyboardWithName: @"Main_iPad "번들: nil] instantiateViewControllerWithIdentifier: @"Find "]; findController. findLocation = textField. 본문; DetailViewController * currentDetailViewController; currentDetailViewController = [자기. splitViewController. viewControllers lastObject]; if (currentDetailViewController. masterPopoverController! = nil) [currentDetailViewController. masterPopoverController dismissPopoverAnimated: 예]; 본인. splitViewController. 델리게이트 = findController; findController.popOverButton = currentDetailViewController. popOverButton; findController. masterPopoverController = currentDetailViewController입니다. masterPopoverController; NSMutableArray * 컨트롤러 = [NSMutableArray arrayWithObjects: (self. splitViewController. viewControllers) [0], findController, nil]; 본인. splitViewController. viewController = 컨트롤러;} else {FindController * findController = [[UIStoryboard storyboardWithName: @ "Main_iPhone"번들: nil] instantiateViewControllerWithIdentifier: @ "Find"]; findController. findLocation = textField. 본문; [본인.

코드가 첫 번째로하는 일은 텍스트 필드에 메시지를 보내 첫 번째 응답자로 사퇴하도록 요청하는 것입니다.

[textField resignFirstResponder];

키보드를 없애면 부작용이 있습니다.

다음에하는 일은 앱이 iPad 또는 iPhone에서 실행되는지 여부에 따라 상황이 달라지는 또 다른 경우입니다.

iPad에서 실행중인 경우 Main_iPad에서 FindController를 인스턴스화합니다. 스토리 보드.

FindController * findController = [[UIStoryboard storyboardWithName: @ "Main_iPad"번들: nil] instantiateViewControllerWithIdentifier: @ "Find"];

그런 다음 TextField의 텍스트를 FindController findLocation 속성에 할당합니다.이 속성은 곧 FindController에 추가됩니다.

findController. findLocation = textField. 본문;

그런 다음 팝업을 닫습니다.

DetailViewController * currentDetailViewController; currentDetailViewController = [자기. splitViewController. viewControllers lastObject]; if (currentDetailViewController. masterPopoverController! = nil) [currentDetailViewController. masterPopoverController dismissPopoverAnimated: 예];

그런 다음 popOverButton 및 masterPopoverController 속성을 할당하고 Split View 컨트롤러 대리인 인 FindController를 만듭니다.

자아. splitViewController. 델리게이트 = findController; findController. popOverButton = currentDetailViewController. popOverButton; findController. masterPopoverController = currentDetailViewController입니다. masterPopoverController;

그러면 Split View 컨트롤러의 viewControllers 속성에서 FindController를 새로운 Detail View 컨트롤러로 간단하게 만듭니다.

NSMutableArray * 컨트롤러 = [NSMutableArray arrayWithObjects: (self. splitViewController. viewControllers) [0], findController, nil]; 본인. splitViewController. viewController = 컨트롤러; 당신이 다루고있는 iPhone의 경우 FindController를 인스턴스화하고 findLocation 속성을 할당 한 다음 네비게이션 컨트롤러 스택에 밀어 넣으면 뷰가 제자리에 들어가게됩니다.

FindController * findController = [[UIStoryboardstoryboardWithName: @ "Main_iPhone"번들: nil] instantiateViewControllerWithIdentifier: @ "Find"]; findController. findLocation = textField. 본문; [본인. navigationController pushViewController: findController animated: YES];

Text 필드가 기본 동작을 구현하게하려면 마침내 YES를 반환합니다.

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 가지 사항 (무료) - 인형

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