订单管理那个cell 加了个红色label。
但是一开始显示不出来,滑动tableview,重新刷新一下,才显示
如图:
代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"tableViewCell" ;
UITableViewCell *result ;
result = [tableView dequeueReusableCellWithIdentifier:identifier];
if (result == nil) {
result = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
else{
while ([result.contentView.subviews lastObject] != nil) {
[[result.contentView.subviews lastObject] removeFromSuperview];
}
}
if ([result.textLabel.text isEqualToString:@"订单管理"]){
UILabel *newMsgLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 20, 20)];
newMsgLabel.center = CGPointMake(result.vRightPos - 70, result.vHeight/2);
newMsgLabel.text = @"1 ";
[newMsgLabel sizeToFit];
newMsgLabel.textColor = WHITE_COLOR;
newMsgLabel.textAlignment = NSTextAlignmentCenter;
newMsgLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth;
newMsgLabel.font = TF_FONT_LEVEL_1;
newMsgLabel.backgroundColor = RED_COLOR;
newMsgLabel.layer.cornerRadius = newMsgLabel.vHeight/2;
newMsgLabel.clipsToBounds = YES;
[result.contentView addSubview:newMsgLabel];
}
}
Saya fikir anda lebih baik mentakrifkan kelas berasingan untuk sel dengan titik merah dan cuba untuk tidak membuat kod paparan dalam pengawal.
Bagaimana untuk menyesuaikan tableviewCell, anda boleh rujuk blog ini: http://www.hcios.com/archives/460
Adalah disyorkan untuk menambah titik merah ini terlebih dahulu. Kemudian kawal paparan dan bersembunyi dalam cellForRowAtIndexPath.
Di manakah anda memberikan nilai kepada result.textLabel.text? Sebelum melaksanakan [result.textLabel.text isEqualToString:@"Order Management"], tiada operasi penugasan dilihat dalam kod yang anda berikan, jadi diduga ia disebabkan oleh susunan tugasan dan penghakiman yang salah.