我有一个CSSearchableItemCSSearchableItemAttributeSet

CSSearchableItemAttributeSet* attributes = [[CSSearchableItemAttributeSet alloc]initWithItemContentType:(__bridge NSString *)kUTTypeContact];
attributes.keywords = @[keywords];
attributes.title = @"Contact Details";
attributes.displayName = @"Ram Gandhi";
attributes.emailAddresses = @[email];
attributes.phoneNumbers = @[phoneNumber];
attributes.contentDescription = [NSString stringWithFormat:@"%@ \n %@", phoneNumber, email];
attributes.supportsPhoneCall = [NSNumber numberWithBool:YES];
attributes.supportsNavigation = [NSNumber numberWithBool:NO];
attributes.thumbnailData = [self getThumbnailData:contactID];

一切工作正常,但是contentDescription中的换行符未在UI中显示,但无法按预期工作。

我也不确定在这里使用kUTTypeContact的目的,因为kUTTypeContent可以完成这项工作。据我搜索,没有关于如何在Spotlight搜索中使用kUTTypeContact的详细文档。

我还有其他属性可以用来在单独的行中显示电子邮件和电话号码吗?

最佳答案

这可能对您来说是很晚的答案,但可以帮助其他人。现在,在使用swift 4的同时,我们可以如下添加两行“contentDescription”,

var contentDescription = ""
var arrDescription = ["email","phone"]
for (index,strDesc) in arrDescription.enumerated(){
    if index == 0{
        contentDescription = strDesc
    }else{
        contentDescription += """

        \(strDesc)
        """
    }
}

我也尝试添加两个以上的字符串,但是最多只显示两行,然后在第二行的末尾显示...。

注意:-检查“(strDesc)”之前的“空白行”是否正确,必须在其中显示换行符。

关于ios - CSSearchableItemAttributeSet的contentDescription属性不支持换行格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38866668/

10-13 07:32