2016-06-28 4 views
0

У меня есть UILabel в HeaderView UICollectionView. Текст ярлыка отображается, но есть очень странная проблема форматирования. Края всех линий очень зазубрены, и это выглядит очень плохо. enter image description hereСтранный текст в UILabel UICollectionView

Кто-нибудь знает об этом решении? Я никогда не видел эту проблему раньше. Мой код для пользовательского вида ниже:

func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { 

    var reusableView = UICollectionReusableView(); 

    if (kind == UICollectionElementKindSectionHeader) { 
     let header = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier: "SectionHeader", forIndexPath: indexPath) 

     let label = UILabel() 
     label.font = UIFont.systemFontOfSize(24.0) 
     switch indexPath.section { 
     case 0: 
      label.text = "UILabel with Weird Text Issues" 
     default: 
      label.text = "" 
     } 
     label.sizeToFit() 
     let leftInset = self.cv.contentInset.left 
     label.frame = CGRectMake(leftInset , header.frame.height-label.frame.height, label.frame.width, label.frame.height) 
     header.addSubview(label) 
     reusableView = header 
    } 

    return reusableView 
} 
+0

Действительно ли это на реальном устройстве или в симуляторе? Иногда вещи просто неправильно масштабируются на симуляторе, что приводит к появлению неровных линий или нескольких отсутствующих пикселей. –

+0

Это скриншот с реального устройства. – Kenneth

ответ

1

Вы добавляете свои Label много раз, ваша проблема заключается в том, что вам нужно удалить UILabel, прежде чем добавить новую,

что-то вроде

for view in header.subviews { 
     view.removeFromSuperview() 
    } 

Надеюсь, это вам поможет

Смежные вопросы