本文介绍了如何隐藏/删除联系人选择器上的搜索栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用中添加了一个联系人选择器,但是,我不想要搜索功能。

I am adding a contact picker in my app, however, I do not want the search functionality.

如何隐藏/删除联系人选择器上的搜索栏( ABPeoplePickerNavigationController)?

How to hide/Remove the search bar on Contact Picker (ABPeoplePickerNavigationController)?

推荐答案

static BOOL foundSearchBar = NO;
- (void)findSearchBar:(UIView*)parent mark:(NSString*)mark {

    for( UIView* v in [parent subviews] ) {

        //if( foundSearchBar ) return;

        NSLog(@"%@%@",mark,NSStringFromClass([v class]));

        if( [v isKindOfClass:[UISearchBar class]] ) {
            [(UISearchBar*)v  setTintColor:[UIColor blackColor]];
            v.hidden=YES;
//            foundSearchBar = YES;
            break;
        }
        if( [v isKindOfClass:[UITableView class]] ) {
            CGRect temp =v.frame;
            temp.origin.y=temp.origin.y-44;
            temp.size.height=temp.size.height+44;
            v.frame=temp;
            //foundSearchBar = YES;
            break;
        }
        [self findSearchBar:v mark:[mark stringByAppendingString:@"> "]];
    }
}

在选择器显示如下之后调用上面的方法:

call above method after picker is presented as below:

-(void)showPeoplePickerController
{
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    picker.view.autoresizingMask = UIViewAutoresizingFlexibleHeight;
    // Display only a person's phone, email, and birthdate
    NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty], 
                                [NSNumber numberWithInt:kABPersonEmailProperty],
                                [NSNumber numberWithInt:kABPersonBirthdayProperty],[NSNumber numberWithInt:kABPersonAddressProperty],nil];

    picker.displayedProperties = displayedItems;
    // Show the picker
    [self presentViewController:picker animated:YES completion:nil];
    [self findSearchBar:[picker view] mark:@"> "];

    [picker release];
}

这篇关于如何隐藏/删除联系人选择器上的搜索栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 01:48