панель поиска в табличном представлении (пользовательская ячейка tableview)

#iphone

#iPhone

Вопрос:

Я внедряю приложение для iphone. В котором я реализовал табличное представление, используя пользовательскую ячейку табличного представления. В каждой ячейке таблицы есть 7 меток. Я хочу поместить панель поиска в табличное представление. Всякий раз, когда я пытался выполнить поиск значения для одной метки, строка, в которой помещена эта метка, не попадает в первую позицию, но значение метки заменяется значением первой метки. Хочу сказать, что значение метки не соответствует всей строке. Как решить эту проблему, пожалуйста, предоставьте мне какое-нибудь решение.

Большое спасибо.

Ответ №1:

Это довольно отличный пример того, как создать панель поиска:

https://github.com/erica/iOS-5-Cookbook/tree/master/C11/06-Searching Tables

Весь код для обработки создания и изменения таблицы находится в методе main:

https://github.com/erica/iOS-5-Cookbook/blob/master/C11/06-Searching Tables/main.m

Ответ №2:

Когда некоторое время назад у меня возникла эта проблема, я наткнулся на статью о панелях поиска: http://www.raywenderlich.com/16873/how-to-add-search-into-a-table-view . Это действительно помогает, но не для пользовательских ячеек.

Итак, используйте тот же метод, что и в ссылке, но добавьте этот фрагмент кода в свой initWithStyle в свой класс CustomCell.m:

 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
        self.selectionStyle = UITableViewCellSelectionStyleNone;

        _label1 = [[UILabel alloc] initWithFrame:CGRectMake(label1’s x position from the 
        upper right corner, label1’s y position from the upper right corner, label1’s width,
        label1’s height)]        
        _label1.font = [UIFont boldSystemFontOfSize:17];
        _label1.textAlignment = NSTextAlignmentLeft;

        [self.contentView addSubview:_label1];
    }
    return self;
 }
  

Сделайте это для всех ваших ярлыков, и все готово! 🙂