void CreateFrequencyLabelsAndLines ()
{
float value;
bool firstK = true;
var scale = Layer.ContentsScale;
for (int index = 0; index <= gridLineCount; index++) {
value = GetValue ((float)index);
var labelLayer = new CATextLayer {
ForegroundColor = UIColor.FromWhiteAlpha (0.1f, 1f).CGColor,
FontSize = 14,
AlignmentMode = CATextLayer.AlignmentCenter,
ContentsScale = scale,
AnchorPoint = CGPoint.Empty
};
labelLayer.SetFont (UIFont.SystemFontOfSize (14).Name);
frequencyLabels.Add (labelLayer);
if (index > 0 && index < gridLineCount) {
var lineLayer = new CALayer {
BackgroundColor = UIColor.FromWhiteAlpha (0.8f, 1f).CGColor
};
freqLines.Add (lineLayer);
graphLayer.AddSublayer (lineLayer);
var s = GetString (value);
if (value >= 1000 && firstK) {
s += "K";
firstK = false;
}
labelLayer.String = s;
} else if (index == 0)
labelLayer.String = string.Format ("{0} Hz", GetString (value));
else
labelLayer.String = string.Format ("{0} K", GetString (DefaultMaxHertz));
containerLayer.AddSublayer (labelLayer);
}
}