Центрирование UIView - PullRequest
       3

Центрирование UIView

1 голос
/ 25 февраля 2011

Я новичок в разработке Cocca и IOS и попал в следующую ситуацию.

У меня есть фоновое изображение 1024x1024, и я хочу отобразить его во всех видах. Я поместил следующий код в приложение didFinishLaunchingWithOptions в делегате приложения, и он загружается правильно и отображается под всеми представлениями.

Проблема в том, что я не могу отцентрировать фон UIView

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Setup background image for all views
UIView *backgroundView = [[UIView alloc] initWithFrame: window.frame];
backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background-image.png"]];
[window addSubview : backgroundView];
[backgroundView release];


// Override point for customization after application launch.
[window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];

return YES;
}

Мне удалось переместить фон UIView в разные позиции, но не в центр.

Я бы оценил любую помощь с этим.

Спасибо заранее Matt

Ответы [ 2 ]

0 голосов
/ 27 февраля 2011

Для центрирования изображения используйте метод setFrame, чтобы сохранить его центрирование, используйте свойство autoresizingMask

enum {
   UIViewAutoresizingNone                 = 0,
   UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
   UIViewAutoresizingFlexibleWidth        = 1 << 1,
   UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
   UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
   UIViewAutoresizingFlexibleHeight       = 1 << 4,
   UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
0 голосов
/ 25 февраля 2011

Попробуйте заменить ваш код на ...

UIImageView *backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-image.png"]];
backgroundView.frame = window.frame;
[window addSubview:backgroundView];
[backgroundView release];

... и попробуйте поиграть с backgroundView s autoresizingMask и contentMode, если ваш background-image.png не 'не подходит для всего окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...