swift-将ArcGISToolkit中的MeasureToolbar的单位中文化

1. 在MeasureToolbar.swift里,添加如下一段代码:

func stringForUnit(_ unit: AGSUnit?) -> String?{

        var unitcnstring:String

        unitcnstring=""

        guard let unit = unit else {

            return ""

        }

        //wd 判断中文单位

        switch unit.name {

        case "Meter":

            unitcnstring = "米"

        case "Kilometer":

            unitcnstring = "公里"

        case "Statute_Mile":

            unitcnstring = "英里"

        case "Acre":

            unitcnstring = "亩"

        case "Hectare":

            unitcnstring = "公顷"

        case "Square_Kilometer":

            unitcnstring = "平方公里"

        case "Square_Meter":

            unitcnstring = "平方米"

        default:

            unitcnstring = unit.name

        }

        return unitcnstring//unit.pluralDisplayName

        //显示测量单位

    }

2. 在UnitsViewController.swift里重写这个方法如下:

override public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let unit = unitForCell(at: indexPath)

        let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath)

        print(unit.pluralDisplayName.count)

        //print(units.count)


        func changeUnitsToChinese() -> String{

            if (units.count == 3){

                switch unit.pluralDisplayName.count {

                    case 10:

                        return "公里"

                    case 6:

                        return "米"


                    default:

                        return "英里"

                }

            }else{

                switch unit.pluralDisplayName.count{

                case 5:

                    return "亩"

                case 8:

                    return "公顷"

                case 17:

                    return "平方公里"

                default:

                    return "平方米"

                }

            }

        }

        cell.textLabel?.text = changeUnitsToChinese()

            //unit.pluralDisplayName

        cell.accessoryType = unit == selectedUnit ? .checkmark : .none

        return cell

    }

运行测试,成功!

你可能感兴趣的:(swift-将ArcGISToolkit中的MeasureToolbar的单位中文化)