2015-07-05 4 views
2

Я пытаюсь добавить пользовательское фоновое изображение в свое приложение. Я использовал методы, введенные здесь: How to fill background image of an UIViewНевозможно установить фоновое изображение для UICollectionView

Эти коды преуспели и в нормальном UIViewController и UITableViewController, но не в UICollectionViewController. Это просто черное.

Насколько я понимаю, UITableViewController похож на структуру UICollectionViewController. Я сравнил настройку для этих двух контроллеров, и они все одинаковы (в разделе просмотра). Почему код работает на одном, но не на другом?

ответ

0

Если вы назначаете цвет фона self.view, попробуйте назначить его self.collectionView.

+0

Спасибо за ваш ответ! Друг дал мне решение. –

1

Мой друг дал мне решение.

Хитрость заключается в том, чтобы установить фон коллекции, чтобы очистить, а не по умолчанию. Я установил все представления по умолчанию, поэтому я думал, что он должен быть таким же в представлении коллекции.

Но как же только в режиме просмотра коллекции фон по умолчанию черный, а в других - по умолчанию? Меня это смущает.

3

Он работает на uicollectionview

self.collectionView?.backgroundColor = UIColor(patternImage: UIImage(named: "image.png")!) 
0
// Create a Programmatically UICollectionview in iOS And Set a UICollectionView Background Image 


self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init]; 
    _collectionView=[[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:layout]; 
    [_collectionView setDataSource:self]; 
    [_collectionView setDelegate:self]; 
    [_collectionView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"tiger"]]]; 
    [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellIdentifier"]; 

    [self.view addSubview:_collectionView]; 
6

Лучший способ осуществить это осуществить с помощью кода внутри viewDidLoad для CollectionView

let bgImage = UIImageView(); 
    bgImage.image = UIImage(named: "bg4"); 
    bgImage.contentMode = .ScaleToFill 


    self.collectionView?.backgroundView = bgImage