2016-11-02 3 views
1

как зафиксировать изображение в центре экрана, независимо от positionI нужно исправить компас в середине любого экранамне нужен центр изображения по центру экрана

это мой код

_backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]]; 

    [self.view addSubview:_backgroundImageView]; 

    CGPoint centerImageView = _backgroundImageView.center; 
    centerImageView.x = self.view.center.x; 
    _backgroundImageView.center = centerImageView; 

Но изображение фиксируется на левой стороне, мне нужно не в зависимости от положения экрана, расположенного в центре

Теперь только правое положение меняется enter image description here теперь только правильный ро sition изменяется enter image description here мне нужен центр изображения по центру экрана enter image description here

+0

Вы используете автозапуск? – Darshana

ответ

1

Вопрос очень простой

Мои действия:

Шаг 1

_backgroundImageView.image = [UIImage imageNamed:@"background.jpg"]; 
[self.view sendSubviewToBack:self.backgroundImageView]; 

Шаг 2 enter image description here

Шаг 3 enter image description here

1

Это один из способов сделать это:

на viewDidLoad:

_backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]]; 
[self.view addSubview:_backgroundImageView]; 

CGRect bgImageFrame = _backgroundImageView.frame; 
bgImageFrame.origin.x = (self.view.frame.size.width/2.0) - (bgImageFrame.size.width/2.0); 
bgImageFrame.origin.y = (self.view.frame.size.height/2.0) - (bgImageFrame.size.height/2.0); 
_backgroundImageView.frame = bgImageFrame; 

этот метод каждый раз, когда экран вращается:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator { 
    [coordinator animateAlongsideTransition:^(id _Nonnull context) { 

     CGRect bgImageFrame = _backgroundImageView.frame; 
     bgImageFrame.origin.x = (self.view.frame.size.width/2.0) - (bgImageFrame.size.width/2.0); 
     bgImageFrame.origin.y = (self.view.frame.size.height/2.0) - (bgImageFrame.size.height/2.0); 
     _backgroundImageView.frame = bgImageFrame; 

    } completion:nil]; 
} 
+0

Спасибо Filipe Sá, , но как сделать левую сторону плавающей. -top, справа, слева внизу -floating ... Как установить центр изображения в центре экрана –

+0

Я не уверен, что это то, о чем вы просите, но я отредактировал свой ответ, чтобы он центрирует изображение каждый раз, когда экран вращается –

0

использовать это код может помочь u.

-(void)viewDidLoad { 

    _backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]]; 
    [self.view addSubview:_backgroundImageView]; 
} 

-(void)viewDidLayoutSubviews { 

    [super viewDidLayoutSubviews]; 

    CGPoint centerImageView = _backgroundImageView.center; 
    centerImageView.x = self.view.center.x; 
    _backgroundImageView.center = centerImageView; 
} 
+0

Большое спасибо! @Sumit Garg –

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