, 나는 사용자 정의 클래스셀에서 Google지도 버튼을 활성화하려면 어떻게해야합니까? 이 코드의이 라인은 내가</p> <p>이 셀을 만든 사용자 지정 셀에서 실행되지 않는 것 같습니다 그러나 사용자 정의 tableViewCell에서
에 구글 맵 클래스 뷰를 연결 있는 tableView의 일부입니다, 나는있는 TableView의 viewDidLoad에 예를 var gmapsCell = GMapTableViewCell
이 셀을 인스턴스화하려고 노력하지만 항상 그래서 코드 아래에 나의 접근 방식을 변경
nil을 반환 것 같다
import UIKit
import GoogleMaps
class GMapTableViewCell: UITableViewCell, GMSMapViewDelegate {
let locationManager = CLLocationManager()
@IBOutlet var mapView: GMSMapView!
override func awakeFromNib() {
super.awakeFromNib()
locationManager.requestAlwaysAuthorization()
// For use in foreground
locationManager.requestWhenInUseAuthorization()
mapView.delegate = self
mapView.settings.myLocationButton = true
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
extension GMapTableViewCell: CLLocationManagerDelegate {
func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
if status == .AuthorizedWhenInUse {
locationManager.startUpdatingLocation()
mapView.myLocationEnabled = true
mapView.settings.myLocationButton = true
}
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first {
mapView.camera = GMSCameraPosition(target: location.coordinate, zoom: 15, bearing: 0, viewingAngle: 0)
locationManager.stopUpdatingLocation()
}
}
}
이 문제는 지금
override func awakeFromNib() {
super.awakeFromNib()
locationManager.requestAlwaysAuthorization()
// For use in foreground
locationManager.requestWhenInUseAuthorization()
mapView.delegate = self
mapView.settings.myLocationButton = true
}
이 실행되지 않을 것입니다
. 내 목표는 단순히 장치의 현재 위치로 이동하는 것입니다. 사용자 정의 셀에 대해 viewDidLoad에 해당하는 항목이 있습니까?
이미 오래전에 추가되었습니다. – airsoftFreak