2015-05-07 2 views
0

Я борюсь со следующей проблемой: Я загружаю заголовок и изображениеUrl от Json, и я устанавливаю их внутри пользовательской ячейки UITableView следующим образом:UITableView cell UIImageView меняет свой кадр случайным образом, когда выбрано

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // Retrieve cell 
    NSString *cellIdentifier = @"cell"; 
    UITableViewCell *categoryCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    categoryCell.textLabel.lineBreakMode = NSLineBreakByWordWrapping; 
    categoryCell.textLabel.numberOfLines = 0; 

    // Get the location to be shown 
    RecipesList *item = _feedRecipesList[indexPath.row]; 




    // Get references to labels of cell 
    categoryCell.textLabel.text = item.name; 
    item.urlImg = [item.urlImg stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; 
    [categoryCell.imageView sd_setImageWithURL:[NSURL URLWithString:item.urlImg] 
       placeholderImage:[UIImage imageNamed:@"Placeholder.png"]]; 



    return categoryCell; 
} 

Все работает нормально, но когда я выбираю ячейку (поэтому она подсвечивается), кадр UIImageView ячейки меняет свой размер без каких-либо причин. Сначала я использовал основную ячейку, и я думал, что проблема была вызвана тем, что таким образом я пытался с пользовательским соте и я добавил в файле .m следующего кода пользовательского класса:

- (void)layoutSubviews { 
[super layoutSubviews]; 

self.imageView.frame = CGRectMake(0,0,55,55); 

//Any additional setting that you want to do with image view 

[self.imageView setAutoresizingMask:UIViewAutoresizingNone]; 

} 

Это изменить размер UIImageView но опять же, если я выбираю ячейку, изменяется рамка изображения.

Есть ли у кого-то такая же проблема?

А также для создания ленивой загрузки я использую библиотеку SDWebImage, но я не думаю, что проблема связана с этим.

ответ

0

Странное поведение. Просто несколько предложений, попробуйте этот

self.autoresizesSubviews = NO; 
self.contentView.clipsToBounds = YES; 
self.imageView.contentMode = UIViewContentModeScaleAspectFit; 
+0

Пробовал, но 0 удачи :(Ty за помощь в любом случае! – Signo

0

Бога я, наконец, решить это, вместо того, чтобы использовать стандартные элементы клетки я добавил UIImageView и UILabel в клетку для того, чтобы создать пользовательскую ячейку, то для того, чтобы правильно отобразить изображение. Я добавил на LayoutSubviews метод cellImg.contentMode = UIViewContentModeScaleAspectFill;

Смежные вопросы