2017-09-28 56 views
1

したがって、xibファイルからカスタムマーカーを作成しようとしています。私はRadarMarkerViewサンプルを探しています、それは基本的に同じことです。問題は、プログラムがコンパイルされるが、マーカーが表示されないということです。xibでカスタムのios-chartsハイライトマーカーを作成するには?

これは、私が同じ名前「DailyMarker.xib」と、私はDailyMarkerに設定するカスタムクラスのフィールドにXIBを作成している

open class DailyMarker: MarkerView { 

     @IBOutlet weak var powerLabel: UILabel! 
     @IBOutlet weak var hourLabel: UILabel! 

     override open func awakeFromNib() { 
      self.offset.x = -self.frame.size.width/2.0 
      self.offset.y = -self.frame.size.height - 7.0 
     } 
     open override func refreshContent(entry: ChartDataEntry, highlight: Highlight) { 
      powerLabel?.text = String.init(format: "%.2f kWh", entry.y) 
      hourLabel?.text = "Hora" 
      layoutIfNeeded() 
     } 
    } 

私のカスタムマーカークラスです。ここで

は私がちょうど国境と丸いマーカーを作成したいマーカーに

let dailyMarker: DailyMarker = DailyMarker() 
dailyMarker.chartView = lineChartView 
lineChartView.marker = dailyMarker 

を設定チャートのコードです。誰か助けてくれますか?

答えて

1

だから、私はうまくいきました!

グラフをインスタンス化していたファイルで.viewFromXibが見つからないと思います。これは私の更新されたコードです

let dailyMarker: DailyMarker = (DailyMarker.viewFromXib() as? DailyMarker)! 
dailyMarker.chartView = lineChartView 
lineChartView.marker = dailyMarker 

xibファイルインスペクタでは、ビューのクラスをswiftファイルと同じにします。この場合はDailyMarkerでした。プレースホルダの所有者を設定する必要はありません。

関連する問題