【问题标题】:how to search contact from address book using uitextview in iphone?如何在iphone中使用uitextview从通讯录中搜索联系人?
【发布时间】:2011-03-14 15:52:18
【问题描述】:

我正在使用 uitextview 从通讯录中搜索联系方式。即,像 uisearchbar 在 uitextview 中的文本编辑更改时搜索联系人详细信息。

如果我点击'a',我正在使用uitextview,地址簿中的联系人列表将显示在表格视图中

请给我解决办法

【问题讨论】:

  • 如果你展示你编写的代码,你可能会得到更多的答案,并详细说明什么是/不工作。
  • @GregInYEG:我在这里添加了图片,请验证
  • 首先,点击iPhone(或任何没有鼠标的设备)是不可能的。其次,在 Mac 上截屏时使用 ⇧⌘4 然后按空格键。第三,Three20 有一个消息编写器类。你可以查看它的源代码。

标签: iphone uitextview addressbook


【解决方案1】:

最后我在这里得到了简单的编码解决方案

//viewDidLoad

  NSMutableArray *personArray = [[NSMutableArray alloc] init];
  ABRecordRef personRef;
  for (int i = 0; i < CFArrayGetCount(allPeople); i++)
  {
    personRef = (ABRecordID*)CFArrayGetValueAtIndex(allPeople, i);
    ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(personRef));
    @try 
    {
        if (ABRecordCopyValue(person, kABPersonBirthdayProperty))
            [personArray addObject: (id)personRef];
    }
    @catch (NSException * e) 
    {
    }
    @finally 
    {
    }
  NSString *FirstName = [[[NSString stringWithString:(NSString *)ABRecordCopyValue(personRef, kABPersonFirstNameProperty)]stringByAppendingString:@" "]stringByAppendingString:(NSString *)ABRecordCopyValue(personRef, kABPersonLastNameProperty)];
    [arr addObject:FirstName];
}
[arr3 addObjectsFromArray:arr];
  }

//textviewdidchange

  [arr3 removeAllObjects];
   NSInteger counter = 0;
  for(NSString *name in arr)
  {
    NSRange r = [name rangeOfString:txtView.text options:NSCaseInsensitiveSearch];  
    if(r.location != NSNotFound)
    {
         [arr3 addObject:name];
    }
    counter++;
}
[table reloadData];

感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    相关资源
    最近更新 更多