이 컨테이너에는 2 개의 컨테이너가있는 세그먼트 컨트롤러가있는 UIViewController가 있습니다. 컨테이너 1은 테이블 뷰를로드하고 훌륭하게 작동합니다. 컨테이너 2에는 MKMapView가 설정되었지만로드되지 않습니다. 컨테이너를 선택하면 빈 화면이 나타납니다.mapView가 컨테이너에로드되지 않습니다.
이것은 내 TrackMapView 코드입니다.
import UIKit
import MapKit
class TrackMapView: UIViewController {
@IBOutlet weak var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
mapView.mapType = MKMapType.standard
let location = CLLocationCoordinate2D(latitude: 23.0225,longitude: 72.5714)
let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegion(center: location, span: span)
mapView.setRegion(region, animated: true)
let annotation = MKPointAnnotation()
annotation.coordinate = location
annotation.title = "jim"
annotation.subtitle = "smith"
mapView.addAnnotation(annotation)
}
}
이
@IBAction func showContainer(_ sender: UISegmentedControl) {
if sender.selectedSegmentIndex == 0 {
UIView.animate(withDuration: 0.5, animations: {
self.tableContainer.alpha = 1
self.mapContainer.alpha = 0
})
}else {
UIView.animate(withDuration: 0.5, animations: {
self.tableContainer.alpha = 0
self.mapContainer.alpha = 1
})
}
}
클래스는 올바르게 스토리 보드에 컨테이너에 연결되어 IBOutlets은 바로 이곳에 연결하는 것입니다, 내 세그먼트 코드입니다. (예상대로 작동)
TrackTableView
import UIKit
import GoogleMobileAds
import FirebaseDatabase
import CoreLocation
import MapKit
class TrackTableView: UIViewController, UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate {
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var searchBar: UISearchBar!
var TR: newTracks!
var track = [newTracks]()
var items: [newTracks] = []
var filteredTrack = [newTracks]()
var inSearchMode = false
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
searchBar.delegate = self
searchBar.returnKeyType = UIReturnKeyType.done
getTrackData()
}
또한이 코드 아래의 기능을 제공하고 있습니다.
내 ViewController에 Segue 코드가 없으므로 모두 스토리 보드를 통해 이루어집니다.
어디에서 mapContainer를 선언 했습니까? 코드를 보여주세요. –
내 주 ViewController에서 다음과 함께 "@IBOutlet weak var mapContainer : UIView!" "@IBOutlet weak tableContainer : UIView!" 이것은 스토리 보드의 각 컨테이너에 연결됩니다. –
어떻게'mapContainer'에'TrackMapView'를 추가합니까? –