我正在處理UITableView誰顯示每個價格範圍值條目。 我使用循環來顯示價格範圍。我在哪裏尋找我的靈魂,因爲當我上下滾動時,每個已經顯示,隱藏並重新顯示的細胞都疊加了「美元」的圖像,而且它很醜,看到圖片。Objective-c UITableView單元格圖像疊加
我如何設置初始化我的手機:
PoiAllTableCell *cell = (PoiAllTableCell *)[tableView dequeueReusableCellWithIdentifier:@"PoiAllCell" forIndexPath:indexPath];
我使用此代碼顯示美元的ImageView:
for (int i =0; i < 4;) {
PriceRangeImageView *img = [PriceRangeImageView new];
if (i < _currentPoi.priceRange) {
[img initWithXMultiple:i withColor:_appDelegate.mainColor];
}
else{
[img initWithXMultiple:i withColor:_appDelegate.blackColor];
}
[cell.priceRangeView addSubview:img];
i++;
}
我如何顯示圖像:
#import "PriceRangeImageView.h"
@implementation PriceRangeImageView
- (void)initWithXMultiple:(int)xMultiple withColor:(UIColor *)color{
if (self.image == nil) {
self.frame = CGRectMake(xMultiple*16,0,16,16);
self.image = [UIImage imageNamed:@"dollar_icon"];
self.image = [self.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.tintColor = color;
}
}
@end
這裏是我的手機:
#import <UIKit/UIKit.h>
#import "PriceRangeView.h"
@interface PoiAllTableCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *poiTitleLabel;
@property (weak,nonatomic) IBOutlet UIImageView *poiImageView;
@property (weak, nonatomic) IBOutlet UILabel *distanceLabel;
@property (weak, nonatomic) IBOutlet UILabel *kmStaticLabel;
@property (weak, nonatomic) IBOutlet UILabel *separatorLabel;
@property (weak, nonatomic) IBOutlet UILabel *categoriesLabel;
@property (weak, nonatomic) IBOutlet UIView *priceRangeView;
@property (nonatomic) CGSize distanceLabelSize;
@property (nonatomic) CGFloat distanceLabelWidth;
@end
我在想比在每個滾動細胞的細胞兌美元imageview的,我想知道如何避免這種情況。如果有人可以建議我一個更好的方法?
試試這個@Barzull [cell.contentView addSubview:IMG] http://stackoverflow.com/a/26881504/3767017 – 2014-11-21 09:26:23
感謝,但cell.priceRangeView是一個UIView,我試圖用你的建議,但它再次疊加。 – Jeffrey 2014-11-21 09:37:20
只是一個建議,當你製作自定義單元格併爲其製作UITableViewCell子類時,爲什麼你要爲其單元格數據創建另一個類,則應該將所有數據填充到同一個子類中 (因爲我明白看到您的代碼) – 2014-11-21 11:50:56