Установить фоновое изображение для пользовательского UIView - PullRequest
26 голосов
/ 02 августа 2011

Я разрабатываю приложение для рисования с использованием OpenGL.

Я использую «ПОЛЬЗОВАТЕЛЬСКИЙ UIView» для рисования на экране и другой UIImageView, чтобы установить для него фоновое изображение.Посмотрите на скриншот, чтобы понять это ясно. Моя проблема в том, что я не могу установить фоновое изображение ни в одном из видов. Я должен использовать различные текстуры в качестве чертежной доски, на которой мне нужно рисовать.Может кто-нибудь предложить, что является неправильным в этом подходе ??

Imagelink http://img835.imageshack.us/img835/9794/screenshot20110802at345.png

Я использовал этот код для пользовательского UIView, но не добился успеха ... но он показывает только белый фон по умолчанию

- (id)initWithCoder:(NSCoder*)coder 
{

    UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"Rough_White_Paper_with_tape.png"]];
    self.backgroundColor = background;

      [background release];     
}

Ответы [ 8 ]

38 голосов
/ 02 августа 2011
NSURL *imgUrl=[[NSURL alloc] initWithString:@"http://img835.imageshack.us/img835/9794/screenshot20110802at345.png"];
NSData *imgData = [NSData dataWithContentsOfURL:imgUrl];
UIImage *img = [UIImage imageWithData:imgData];

imageView = [[UIImageView alloc] initWithImage:img];

[self addSubview:imageView ];
[self sendSubviewToBack:imageView ];

[imageView release]; [imgUrl release];
30 голосов
/ 28 ноября 2012

используйте это

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default"]];
26 голосов
/ 10 августа 2011
   - (id)initWithCoder:(NSCoder*)coder 
      {
       self = [super initWithCoder:coder];
       if (self) {
            UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"Rough_White_Paper_with_tape.png"]];
            self.backgroundColor = background;

            [background release];
       }

       return self;

      }

Вы просто должны были добавить возврат себя; Это прекрасно работает для меня ...

8 голосов
/ 02 августа 2011

Попробуйте это:

UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Rough_White_Paper_with_tape.png"]];
[self addSubview:background];
[self sendSubviewToBack:background];
[background release];
3 голосов
/ 02 августа 2011

Попробуйте это:

 UIImageView *myImageView = [[UIImageView alloc] initWithImage : 
                  [UIImage imageNamed :@“abc.png"]];
 UIView *myUIView = [[UIImageView alloc] initWithFrame :CGRectMake(10,10,250,250)];
 myUIView = myImageView;
1 голос
/ 30 ноября 2015

это быстро 2

var background = UIImageView(image: UIImage(named: "image.jpg"))
self.addSubview(background)
self.sendSubviewToBack(background)
1 голос
/ 20 марта 2013

установить фон с UIImageView не изящно。 следует использовать следующий API:

self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"whiteBackground.png"]];
0 голосов
/ 24 января 2013

Используйте это

   self.view.backgroundColor=[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"image.png"]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...