2017-03-24 8 views
0

이 컨테이너에는 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 코드가 없으므로 모두 스토리 보드를 통해 이루어집니다.

+0

어디에서 mapContainer를 선언 했습니까? 코드를 보여주세요. –

+0

내 주 ViewController에서 다음과 함께 "@IBOutlet weak var mapContainer : UIView!" "@IBOutlet weak tableContainer : UIView!" 이것은 스토리 보드의 각 컨테이너에 연결됩니다. –

+1

어떻게'mapContainer'에'TrackMapView'를 추가합니까? –

답변

0

확인 이제 문제가 해결되었습니다. 스토리 보드에서 내 mapview 아래에 잘못된보기가있는 것 같았습니다. mapView 및 독립 실행 형보기가 삭제되었으며 mapview가 추가되었으며 정상적으로 작동합니다.

모든 입력 해 주셔서 감사합니다.