为什么UICollecionView
的滚动不顺畅?
这是代码:
static NSString *CellIdentifier = @"cellRecipe";
// Configure the cell...
[cell setBackgroundColor: [UIColor colorWithPatternImage:[UIImage imageNamed:@"bgRecipeCell.png"]]];
cell.image.layer.masksToBounds = YES;
cell.image.layer.cornerRadius = 8.0f;
cell.image.layer.borderColor = [UIColor blackColor].CGColor;
cell.image.layer.borderWidth = 1.0f;
Recipes *recipe = [recipesArray_ objectAtIndex:indexPath.item];
//checking for purchase
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSObject *object = [prefs objectForKey:@"com.__.__.recipefree"];
if ([recipe.isPaid integerValue] == 0) {
[cell.freeImage setHidden:NO];
}
else [cell.freeImage setHidden:YES];
if ([object isEqual:[NSNumber numberWithInt:1]]) {
[cell.freeImage setHidden:YES];
}
if ([recipe.isFavorite integerValue] == 0) {
[cell.favImage setImage:[UIImage imageNamed:@"toFavorite.png"] ];
}
else [cell.favImage setImage: [UIImage imageNamed:@"toFavorite_.png"]];
[cell.recipeName setText: recipe.name];
[cell.image setImage:recipe.thumbImage];
MainTabController *mainTabController = [[MainTabController alloc] init];
int difficulty = [recipe.difficulty intValue];
//this is the function which return an image for difficulty level from 1 to 5
[cell.difficultyImage setImage: [mainTabController imageForRating:difficulty]];
return cell;
答案 0 :(得分:0)
就我而言,图层边框打破了平滑度。因为我真的希望边框存在,并且我无法使用图像(背景颜色必须可更改),我使用以下UIView层次结构解决了它:
UIView with rounded corners coloured with "border colour"
UIView with rounded corners coloured with "content colour"
答案 1 :(得分:0)
这是一个老问题,但如果有人仍然在寻找答案,那么在cellForItemAtIndexPath
中,首先dequeue
您的collectionView
单元格会有一个简短的技巧:
CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
然后添加以下行:
cell.layer.shouldRasterize = YES;
cell.layer.rasterizationScale = [UIScreen mainScreen].scale;