0

ViewController背景として使用したい画像がありますが、アイテムCollectionViewがブロックされています。UICollectionそれは私にとってはうまくいきませbackground widthheightself.view.backgroundColor

私の背景は次のようになります。

 logo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageName.png"]];

logo.contentMode = UIViewContentModeScaleAspectFit;
[self.collectionView addSubview:logo];
[self.collectionView sendSubviewToBack:logo];

[logo sendSubviewToBack:logo];

画像がどのように浮くかを定義するいくつかNSLayoutの制約があります。UICollection画像がアイテムをブロックすることを除いて、これですべて問題ありません。

4

3 に答える 3

2

backgroundViewコレクション ビューのプロパティを目的のビューに設定してみてください( logo)。問題は、UICollectionViewController クラスを使用している場合、コレクション ビュー自体が親ビューであるということだと思います。また、親ビューの背後にあるサブビューを送信することはできません。

これが役立つことを願っています!

于 2013-05-06T21:39:53.010 に答える
1

あなたの完全なクラスは継承していますか、UICollectionViewControllerそれとも内部UIViewControllerを持っていますか?UICollectionView

クラスがUICollectionViewController_ _rootviewUICollectionView

[self sendSubviewToBack:logo];それ以外の場合は、代わりに試してください[logo sendSubviewToBack:logo];

そして、

logo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageName.png"]];

logo.contentMode = UIViewContentModeScaleAspectFit;

ロゴをフルサイズにする部分、または予想される動作は何ですか? 別のロゴを使用する必要さえなく、通常のbackgound.

後で教えてください、私のコードとIDEはここにありません^^


に変更するUICollectionViewControllerにはUIViewController、このコードを使用できます

// myClass.h

@interface myClass : UIViewController<UICollectionViewDelegate, UICollectionViewDataSource>
{
    // ...
}

@property (nonatomic, retain) UICollectionView *collectionView;
    //...

@end

// myClass.m

// do imports

@implementation myClass

@synthesize collectionView;

-(void)viewDidLoad
{
    [super viewDidLoad];
    self.collectionView = [[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:anyLayout];

    UIImageView *logo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageName.png"]];
    logo.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:logo];
    [self sendSubviewToBack:logo];
}
于 2013-05-06T22:22:24.030 に答える
0

お使いのコントローラーの種類に応じて、次のコードを使用できます。

コントローラが次の場合UIViewController:

 self.view.backgroundColor= 
       [UIColor colorWithPatternImage: [UIImage imageNamed:@"background.png"]];

コントローラが次の場合UICollectionViewController:

 self.collectionView.backgroundView= 
       [[UIImageView alloc ] initWithImage:[UIImage imageNamed:@"background.png"]];
于 2013-08-19T18:16:44.653 に答える