2017-03-24 3 views
0

私は2つのコンテナを持っているこのVCから、セグメント化されたコントローラを持つ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 var tableContainer:UIView!" これはストーリーボードのそれぞれのコンテナに接続されています –

+1

'TrackMapView'を' mapContainer'にどのように追加していますか? –

答えて

0

okこれで解決済みです。私はストーリーボード上で私のmapviewの下に間違ったViewを持っているようだ、mapViewとスタンドアロンビューを削除し、再度mapviewを追加し、うまくいきます。

すべてのお礼ありがとうございました

関連する問題