ios - 为 RTL 自定义 FSCalendar

标签 ios arabic hebrew arabic-support fscalendar

如何配置 FSCalendar 以支持 RTL 语言数字?

这是我正在使用的代码

FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, 0, 300, 320)];
calendar.dataSource = self;
calendar.delegate = self;
calendar.backgroundColor = [UIColor whiteColor];
calendar.appearance.headerMinimumDissolvedAlpha = 0;
calendar.appearance.caseOptions = FSCalendarCaseOptionsHeaderUsesUpperCase;
calendar.scrollDirection = FSCalendarScrollDirectionHorizontal;
calendar.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ar_AE"];

启动日历 View 时,无法使用正确的语言数字显示日期

enter image description here 如您所见,只有部分内容可以正确显示。我使用的是 iOS 10。

@WenchaoD 关于如何让它工作有什么想法吗?

最佳答案

FSCalendar 无法实现完整的 RTL,我们可以在日历中添加阿拉伯数字。

这是我的解决方案,它解决了我的问题,希望它能满足您的要求。

在这个解决方案中,我在 FSCAlendar 中使用了标题选项的可能性。通过这样做,使用阿拉伯语的用户可以轻松使用日历。

func showArabicSubTitle(date: Date!) -> String!
{

    let dateFormater = DateFormatter()
    dateFormater.dateFormat = "dd"

    var calendarDate = dateFormater.string(from: date as Date)

    let characters = Array(calendarDate.characters)

    let substituteArabic = ["0":"٠", "1":"١", "2":"٢", "3":"٣", "4":"٤", "5":"٥", "6":"٦", "7":"٧", "8":"٨", "9":"٩"]
    var arabicDate =  ""

    for i in characters {
        if let subs = substituteArabic[String(i)] {
            arabicDate += subs
        } else {
            arabicDate += String(i)
        }
    }

    return arabicDate
}

//MARK: - FSCalendarDelegate

func calendar(_ calendar: FSCalendar, titleFor date: Date) -> String? {
    return (L102Language.currentAppleLanguage() == "ar") ? self.showArabicSubTitle(date: date) : ""
}

关于ios - 为 RTL 自定义 FSCalendar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44619078/

相关文章:

ios - 对齐的阿拉伯语或波斯语文本或任何语言方向从右到左 - iOS

xcode - 阿拉伯语 NSString 显示 Xcode 调试器和日志之间不同的字母顺序

java - 从http get请求中读取非英文字符

带有希伯来语文本的 TextView 的 Android 设置?

ios - RefreshControl 有时不会隐藏并且在 iOS 上表现得很奇怪

ios - 在推送通知中显示消息正文

ios - 从 UIImage 获取 CIImage (Swift)

php - 仅带空格的阿拉伯字母数字正则表达式

excel - 在 Excel 中将希伯来语日期转换为字母

ios - RACSignal 和一系列 View 模型,有没有更被动的方式?