Как iBooks, как поиск пользовательского интерфейса на столе - PullRequest
3 голосов
/ 05 мая 2011

Я хочу показать строку поиска таблицы как в iBooks.Как я могу уменьшить ширину панели поиска и как она может быть показана без какого-либо цвета фона.

Также, как я могу сначала скрыть окно поиска при отображении страницы.

enter image description here

1 Ответ

6 голосов
/ 05 мая 2011

Я могу придумать два варианта:

Создайте свой собственный, создав подкласс 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
  • добавление поисковой панели в ваше представление только при необходимости
...