Я могу придумать два варианта:
Создайте свой собственный, создав подкласс UITextfield
- установить стиль границы на UITextBorderStyleNone
- установите левое изображение на изображение увеличительного стекла
- установить фон в прозрачный png с круглой рамкой, показывающей
- использовать, если метод uiimages stretchableImageWithLeftCapWidth: topCapHeight, чтобы при растяжении фоновое изображение выглядело хорошо
Возиться с UISearchbar, не рекомендуется
Вы можете получить доступ к подпредставлениям панели поиска UIS следующим образом:
for (UIView *aSubview in [searchbar subviews]) {
// this will remove the toolbar around the searchbar in iOS 4
if ([aSubview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[aSubview removeFromSuperview];
}
// get a grip on the underlying textfield...
if ([aSubview isKindOfClass:NSClassFromString(@"UISearchBarTextField")])
{
UITextField *aTextfield = (UITextField *)aSubview;
// this won't do anything at it is already none, just experimenting
aTextfield.borderStyle = UITextBorderStyleNone;
// this will remove the whole border as it is a custom background
aTextfield.background = nil;
// this will remove the magnifying glass
aTextfield.leftView = nil;
// play around even more :)
}
}
Вы можете скрыть панель поиска по
- установка скрытого свойства в YES
- установить свойство frame или center где-нибудь за пределами видимой области
- установить альфа-свойство на 0.0
- добавление поисковой панели в ваше представление только при необходимости