Charts: рдХрд╕реНрдЯрдо Y рдорд╛рди рдлрд╝реЙрд░реНрдореЗрдЯрд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: danielgindi/Charts

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЖрдИрдУрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрдорд╛рд▓ рдХреА рд╣реИ! рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рд╕рдордп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрд╛рд░ рдЪрд╛рд░реНрдЯ рдореЗрдВ рд╡рд╛рдИ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдПрдордПрди: рдПрд╕рдПрд╕)

рдореИрдВрдиреЗ рдЖрдИрдУрдПрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрд░ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ "рдЪрд╛рд░реНрдЯрдбрд┐рдлреЙрд▓реНрдЯрдПрдХреНрд╕рдПрдХреНрд╕рд┐рд╕рд╡реИрд▓реНрдпреВрдлреЙрд░реНрдореЗрдЯрд░" рдирд╛рдордХ рдПрдХ рд╡рд░реНрдЧ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдРрд╕рд╛ рдореБрдХрд╛рдо рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ?

рдПрд▓реЗрдХреНрд╕рд┐рд╕

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ IAxisValueFormatter ред

import Foundation
import Charts
class YAxisValueFormatter: NSObject, IAxisValueFormatter {

    let numFormatter: NumberFormatter

    override init() {
        numFormatter = NumberFormatter()
        numFormatter.minimumFractionDigits = 1
        numFormatter.maximumFractionDigits = 1

        // if number is less than 1 add 0 before decimal
        numFormatter.minimumIntegerDigits = 1 // how many digits do want before decimal
        numFormatter.paddingPosition = .beforePrefix
        numFormatter.paddingCharacter = "0"
    }

    /// Called when a value from an axis is formatted before being drawn.
    ///
    /// For performance reasons, avoid excessive calculations and memory allocations inside this method.
    ///
    /// - returns: The customized label that is drawn on the axis.
    /// - parameter value:           the value that is currently being drawn
    /// - parameter axis:            the axis that the value belongs to
    ///

    public func stringForValue(_ value: Double, axis: AxisBase?) -> String {
        return numFormatter.string(from: NSNumber(floatLiteral: value))!
    }
}

YAxisValueFormatterclass рдмрдирд╛рдПрдВ, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЧреНрд░рд╛рдлрд╝ рд▓реЗрдлреНрдЯрдПрдХреНрд╕рд┐рд╕ рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ

    // Number formatting of YAxis
    chartView.leftAxis.valueFormatter = YAxisValueFormatter()

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╕реНрдЯреИрдХреНрдб рдмрд╛рд░ рдЪрд╛рд░реНрдЯ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рди рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рдлреЙрд░реНрдореЗрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ?

        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
        formatter.maximumFractionDigits = 1;
        formatter.negativeSuffix = @" $";
        formatter.positiveSuffix = @" $";

        BarChartData *data = [[BarChartData alloc] initWithXVals:xVals dataSets:dataSets];
        [data setValueFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:7.f]];
        [data setValueFormatter:formatter];

        _chartView.data = data;

@dxclancy рдиреЗ рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рдЕрднреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдлрд╝реЙрд░реНрдореЗрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рджрд┐рдирд╛рдВрдХ рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдХреЛ рдкрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдирдорд╕реНрддреЗ,

рдЖрдкрдХрд╛ рдЙрддреНрддрд░ рдзрдиреНрдпрд╡рд╛рджред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, leftAxis.valueformatter рдХреЗрд╡рд▓ NSNumberFormatter рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рддреЗрдЬреА рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЪрд╛рд░реНрдЯрдбрд┐рдлреЙрд▓реНрдЯрдПрдХреНрд╕рдПрдХреНрд╕рд┐рд╕рд╡реИрд▓реНрдпреВрдлреЙрд░реНрдореЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рд╕рдордп рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рдПрдВ (рд╡рд╛рдИ) рдЕрдХреНрд╖ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ = 1:02:58

рдПрд▓реЗрдХреНрд╕рд┐рд╕

рд╣рд╛рдп, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ NSDateFormatter рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реИ?

рдореИрдВ рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ var valueFormatter: ChartXAxisValueFormatter?

рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЙрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

<strong i="9">@interface</strong> MyChartViewController: < ChartXAxisValueFormatter>

рдпрд╛

<strong i="13">@interface</strong> MyCustomFormatter: NSObject < ChartXAxisValueFormatter>

рдпрд╛ рддреЗрдЬ рд╕рдордХрдХреНрд╖ред

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк yVals рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ NSNumberFormatter рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рд╕рд╣реА?

рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ #742 рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, @danielgindi рдХреА рд╕реНрдерд┐рддрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдХрд┐ рдпрд╣ рдЧрд▓рдд рд╣реИред

рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 3 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

  • рдпрджрд┐ ChartXAxisValueFormatter рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрд╕рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
  • рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо NSNumberFormatter рдХрд╛ рдПрдХ рдЙрдкрд╡рд░реНрдЧ рд▓рд┐рдЦрдирд╛ рд╣реИ рдЬреЛ stringFromNumber рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдорд╛рди рдХреЛ NSDateFormatter рдореЗрдВ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдХрд╕реНрдЯрдо рд╕реНрд╡рд░реВрдкрдг рдХрд░рддрд╛ рд╣реИред
  • рдпрджрд┐ рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк #742 рдореЗрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдВрдЯреЗ рдореЗрдВ рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ NSDateFormatter рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рд╕рдордп рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдпрд╛ рдЖрдк ChartXAxisValueFormatter рдкрд░ рдкреНрд░рддрд┐рд░реВрдкрд┐рдд рдПрдХ ChartYAxisValueFormatter рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдЕрджреНрднреБрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдирдпрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмреЗрд╣рддрд░реАрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдореИрдВ рдЕрдкрд░рд┐рдЪрд┐рдд рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИред

рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдЧрд░ рд╣рдо рдПрдХреНрд╕рд┐рд╕ рдлреЙрд░реНрдореЗрдЯрд░ рдХреЛ рдлреЙрд░реНрдореЗрдЯрд░реНрд╕ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рд╕реЛрдЪрдХрд░ рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ, рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрд░реНрдореЗрдЯрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдорд╛рди рд╕реЗ рднрд┐рдиреНрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрд╡рдпрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдХрд╛ рд╕реНрд░реЛрдд рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдУрд╡рд░рд░рд╛рдЗрдб рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рдиреЗ рдПрдХ рдЬрд╛рджреВ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛!
рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ, рдЖрдк рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╣реИрдВ :)

NSNumberFormatter рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ NSFormatter рдмрд╕ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореВрд▓реНрдп рдПрдХ рдирдВрдмрд░ _always_ рд╣реИ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдХреА рд╡рдЬрд╣ рд╕реЗред рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ NSFormatter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рднреА рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЙрд╕ рдирдВрдмрд░ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рдЬреЛ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ ( ChartYAxisValueFormatter рджреГрд╖реНрдЯрд┐рдХреЛрдг)ред

рдРрд╕рд╛ рдХрд╣рдХрд░ - рдпрд╣ рдореБрджреНрджрд╛ рддрдм рддрдХ рдЦреБрд▓рд╛ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рд╣рдо рд╡рд╛рдИ рдЕрдХреНрд╖ рдорд╛рди рдлреЙрд░реНрдореЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗред

рдЪрд╛рд░реНрдЯ 3.0 рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд (v3 рд╢рд╛рдЦрд╛)

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ IAxisValueFormatter ред

import Foundation
import Charts
class YAxisValueFormatter: NSObject, IAxisValueFormatter {

    let numFormatter: NumberFormatter

    override init() {
        numFormatter = NumberFormatter()
        numFormatter.minimumFractionDigits = 1
        numFormatter.maximumFractionDigits = 1

        // if number is less than 1 add 0 before decimal
        numFormatter.minimumIntegerDigits = 1 // how many digits do want before decimal
        numFormatter.paddingPosition = .beforePrefix
        numFormatter.paddingCharacter = "0"
    }

    /// Called when a value from an axis is formatted before being drawn.
    ///
    /// For performance reasons, avoid excessive calculations and memory allocations inside this method.
    ///
    /// - returns: The customized label that is drawn on the axis.
    /// - parameter value:           the value that is currently being drawn
    /// - parameter axis:            the axis that the value belongs to
    ///

    public func stringForValue(_ value: Double, axis: AxisBase?) -> String {
        return numFormatter.string(from: NSNumber(floatLiteral: value))!
    }
}

YAxisValueFormatterclass рдмрдирд╛рдПрдВ, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЧреНрд░рд╛рдлрд╝ рд▓реЗрдлреНрдЯрдПрдХреНрд╕рд┐рд╕ рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ

    // Number formatting of YAxis
    chartView.leftAxis.valueFormatter = YAxisValueFormatter()

рдЬрдм рдореИрдВ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ IAxisValueFormatter рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ: рдореЗрд░реА ProjectName-Swift.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ "IChartAxisValueFormatter' рдирд╛рдо рдХрд╛ рдХреЛрдИ рдкреНрд░рдХрд╛рд░ рдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╣реАрдВ рд╣реИ"ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕