Görüntü için bir görüntü ve bir ad göstermek üzere bir UICollectionViewCell özelleştirmek zorundayım Ve resmin üstünde, 2 piksel daha büyük bir kare görüntü var. görüntüden genişlik ve yükseklik. Bununla birlikte, ne yaptığımın bir önemi yok, görüntü çerçeve resminden daha büyük görünüyor. Tablo görüntüsü için aynı şeyi yaptım ve mükemmel çalışıyor. kodunda, bgImage 67 x 67 olmak her zaman olması gerekiyordu ve bunun kökeni böyleceUIImageView bir UICollectionViewCell alt sınıfında sınırların dışında görüntüyü gösterir
//GridCell.h
@interface GridCell : UICollectionViewCell
@property(nonatomic, strong) UILabel *lblName;
@property(nonatomic, strong) UIImageView *image;
@end
//GridCell.m
#import "GridCell.h"
@implementation GridCell
@synthesize image, lblName;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
UIImage *bg = [UIImage imageNamed:@"borderUIimgLg.png"];
UIImageView *bgImage = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, frame.size.width, frame.size.width)];
[bgImage setImage:bg];
[bgImage setContentMode:UIViewContentModeScaleAspectFill];
NSLog(@"BG Image size %f, %f", bgImage.frame.size.width, bgImage.frame.size.height);
UIImageView *contentImage = [[UIImageView alloc] initWithFrame:CGRectMake(2.0, 2.0, frame.size.width-4.0, frame.size.width-4.0)];
[contentImage setContentMode:UIViewContentModeScaleAspectFill];
[contentImage setClipsToBounds:YES];
self.image = contentImage;
[self.contentView addSubview:self.image];
[self.contentView addSubview:bgImage];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(2.0, frame.size.width, frame.size.width - 4.0, 21.0)];
[label setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:11.0]];
[label setTextAlignment:NSTextAlignmentCenter];
[label setBackgroundColor:[UIColor clearColor]];
self.lblName = label;
[self.contentView addSubview:self.lblName];
}
return self;
}
UICollectionViewCell, 67 x 100 bir büyüklüğe sahiptir (0,0: Burada
kodudur) ve contentImage'ın bir karesi olması gerekiyordu (0,0,63,63). Hata ayıklama ile doğru görünüyor. Bununla birlikte, her zaman bgImage'den daha büyük olan conentimage. Görüntünün orijinal boyutu 80 x 80 olsa da. Set.ClipToBounds, setContentViewMode, cell.ContentView veya imageView üzerinde denedim, ancak hiçbiri çalışır.Sorunla ilgili bir ekran görüntüsü eklenmiştir.
Herhangi bir yardım için teşekkür ederiz.
Aynı zamanda bir nibdeki ve öykü panosundaki tüm öğeleri düzenlemeye çalıştım, aynı sonuçları aldım. – Zhao