[swift] 탭을 클릭하여 내용을 클립보드로 복사합니다.
오프닝
어제 항목 이후 지리적 인코딩(주소→위도·경도 변환)의 원본 코드를 확인하는 응용 프로그램을 제작하여 변환 결과의 위도·경도가 의도된 좌표를 가리키는지 확인하는 첫 단계로 제목에 따라 "탭을 클릭하여 내용을 클립보드로 복제"GoogleMap 및 브라우저 모두 붙여넣을 수 있습니다.
개발 환경
터미널: MacBook Pro/MacOS10.14.5(Mojave)
Xcode:10.2.1
Swift:5
화면 이미지
"PUSH ME!!"지리적 인코딩
클릭→붙여넣기로 위도, 경도 복사 확인
GoogleMap에서 볼 때, 그것은 하늘 나무를 가리킨다
소스 이미지
화면 이미지와 약간 차이가 있지만.
"위도"값을 클릭하여 클립보드에 복사한 처리를 추출하면
아래와 같다.
ViewController.swift
class ViewController: UIViewController {
// 緯度の部分をタップすると緯度経度を取得する
@IBOutlet weak var lblLat: UILabel!
let myTGLat = UITapGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
// タップを検知できるようにして、
// その際に行う動作を定義する
lblLat.isUserInteractionEnabled = true
myTGLat.addTarget(self, action: #selector(tapLblLat(_:)))
lblLat.addGestureRecognizer(myTGLat)
// 以下、何かしらの処理をして、
// 緯度に表示させたい値を取得、セット
}
// 緯度を表示するラベルをタップした際に呼ばれる処理
@objc func tapLblLat(_ sender:UITapGestureRecognizer) {
// lblLatに表示された値をクリップボードにコピー
UIPasteboard.general.string = lblLat.text!
// ※UIPasteboard.general.setValue では、
// iOS11では動かないらしい。
}
}
일찍 출력하고 싶어서 일부 추출된 논리가 됐지만, 실제로 구성된 것들의 논리가 조금만 더 정리되면 다시 쓰고 싶어요.푹 빠진 요점 등
이번에는 샘플이 충실해서 빠지지 않았다.
억지로 말하면 탭 부분을 몇 번 눌러도 디버깅용 로그 출력 처리가 움직이지 않아 결과
XXX.isUserInteractionEnabled = true
를 잊어버린 것이 원인이다.오늘 이후로
나는 다른 화면에 지리적 인코딩 결과를 보여주는 지도에 핀을 꽂는 곳으로 발전하고 싶다.
또한 지리적 인코딩된 곳을 Qiita의 항목으로 출력할 수 없기 때문에 그 부분을 다시 합니다.(info.plist의 설정은 주의사항이 많으니 잊지 마세요.)
Reference
이 문제에 관하여([swift] 탭을 클릭하여 내용을 클립보드로 복사합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ydzum1123/items/d1b878e63bbb79439b13텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)