2016-04-01 12 views
1

Gereksinim, tablo görüntü hücrelerine dairesel görüntüler göstermektir. Bu amaçla hücrenin satırında görüntü vermem için köşe yarıçapı verdiyse şimdi görüntü dairesel bir biçimde görüntüleniyor, ancak kaydırma yarıçapı şifresini durduran hücreler titriyorsa kimse bana sorunu anlatabilir mi?TabelView Köşe yarıçapı verirken hücreler titriyor mu?

- (void)awakeFromNib{ 
    self.imageView.layer.cornerRadius = 30; 
} 

UITableViewCell hep yeniden kullanılır, çünkü "cellForRowAtIndexPath" in hücrenin UI güncelleştirmeye çalışırsanız yöntemle:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

    NSString *cellIdentifier [email protected]"notification"; 

    NotifiucationTableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) { 
     cell = [[NotifiucationTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier]; 
    } 

    ZSAnnotation *objArray = [personDetails objectAtIndex:indexPath.row]; 
    [cell.profilePic sd_setImageWithURL:[NSURL URLWithString:objArray.personImage] 
         placeholderImage:[UIImage imageNamed:@"profile-pic-big.png"]]; 

    cell.personDescription.text = objArray.personDescription; 
    cell.personTitle.text = objArray.personTitle; 
    myString = [[NSNumber numberWithFloat:objArray.rating] stringValue]; 
    km = [NSString stringWithFormat:@"%@%@", myString, @" KM"]; 

    cell.personNearbyDistance.text = km; 
    [cell.callButton addTarget:self action:@selector(callButtonAction:) forControlEvents:UIControlEventTouchUpInside]; 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    cell.backgroundColor = [UIColor whiteColor]; 
    cell.profilePic.layer.cornerRadius = 30; 

    return cell; 
} 
+0

Cihazda kontrol ettiniz mi? Sorun mu yaşıyorsunuz? –

+0

Evet iPad'de kontrol ettim bir sorunum var –

+0

Ekran görüntüsü yükleyebilir misiniz? –

cevap

0

deneyin gibi, hücre sınıfının "awakeFromNib" yönteminde hücre UI ayarları koymak , kod, bir hücre görüntülenmeden önce her defasında yürütülür, ancak kodu "awakeFromNib" içine koyarsanız, kod, yalnızca bir kaç kez TableView yüklendiğinde ve yukarı ve aşağı kaydırdığınızda tekrar çalışmayacaksa, çalıştırılabilir ve hücreler pürüzsüz görünür.

0

Sanırım hücrenin kendi içindeki köşe yarıçapını verebilirsiniz. Hücrelerin titremesinin nedeni, tablo Görünümü, hücre titreşime neden olan tablo görünümü cellForItemAtIndexPath yönteminde kaydırıldığında hücreyi ayırmaya çalıştığıdır. oluştururken

Eğer

-(void) awakwFromNib 
{ 
    self.yourImageView.cornerRadius = 30; 
    self.yourImageView.layer.maskToBounds = YES; 
} 
0

if (cell.profilePic.layer.cornerRadius != 30){ 
    cell.profilePic.layer.cornerRadius = 30; 
    cell.profilePic.clipsToBounds = YES; 
} 

ile

cell.profilePic.layer.cornerRadius = 30; 

bu şekilde değiştirmeyi deneyin uçlu gelen uyanık böyle yapabiliriz, yarıçap sadece bir kez uygulanacaktır hücre.