我一直在使用MeasurementFormatter
,尝试将英制长度显示为10'6"
或10 ft 6 in
,但没有成功。当isForPersonHeightUse
设置为true
时,LengthFormatter
可以正确地完成此操作,但它不能很好地适应用户的语言环境(例如,长度是以公制度量的国家,除了当提到高度时)。是否有任何方法可以在格式化程序中强制执行此行为?
EDIT此question用于确定如何选择度量单位。我可以选择英尺或英寸,但希望将分数英尺显示为英寸,如下所示:6英尺3英寸而不是6.25英尺。
3条答案
按热度按时间dxpyg8gm1#
使用示例:
将打印:
iqjalb3h2#
我修改(简化)了@maslovsa的答案以满足我的需要。我有一个叫做“Patient”的Core Data对象。它有一个以英寸为单位的height参数,即
Int64
。我想要一个显示给用户的字符串,所以下面是我的patient对象的属性:当然,我也必须实现
imperialLengthFormatter
,但我将其作为LengthFormatter
本身的扩展,如下所示:这实际上并没有像@maslova的答案的注解中所建议的那样降低性能,因为该属性是静态的,它只初始化一次。
在表格单元格中显示此内容:
5英尺11英寸
jogvjijk3#
如何在SwiftUI中显示英尺和英寸
以防有人来这里寻找SwiftUI的答案。
结果