我有一个CSSearchableItem
和CSSearchableItemAttributeSet
,
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/