2015-03-23 3 views
0

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

Есть ли способ перенести его на передний план?

Код:

if ([touch view] == _imageOne) 
{ 
    CGRect newFrame = _imageOne.frame; 
    newFrame.size.width -= 280; 
    newFrame.size.height -= 280; 
    newFrame.origin.x += 3.2; 
    newFrame.origin.y -= 100; 
    _imageOne.frame = newFrame; 
} 
else if ([touch view] == _imageTwo) 
{ 
    CGRect newFrame = _imageTwo.frame; 
    newFrame.size.width -= 280; 
    newFrame.size.height -= 280; 
    newFrame.origin.x += 95; 
    newFrame.origin.y -= 100; 
    _imageTwo.frame = newFrame; 
} 

Я попытался добавить этот

[_imageOne.superview bringSubviewToFront:_imageOne]; 

после

_imageOne.frame = newFrame; 

но что делает изображение просто исчезнуть по какой-то причине .. Спасибо

+0

, пожалуйста, поделитесь кодом ... – iAnurag

+0

Googling «принести подпрограмму вперед программно» дал мне массу ответов на этот вопрос – Alex

+0

Я добавил фрагмент своего кода сейчас, я не совсем уверен, как применить другие ответы к моей ситуации – user3641747

ответ

0

Я не уверен, что именно вам нужно, но для того, чтобы привести подвид к передней (внутри пользовательского класса UIView):

UIImageView * imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"yourimage.png"]]; 
[self.superview bringSubviewToFront:imgView]; 
+0

Привет, спасибо за вашу помощь. Теперь я добавил часть своего кода в исходный вопрос. Я не уверен, как применить это к моей ситуации. Спасибо – user3641747

1

Вы можете принести свое изображение на фронт, как это:

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    if ([touch view] == _imageOne) 
    { 
    CGRect newFrame = _imageOne.frame; 
    newFrame.size.width += 280; 
    newFrame.size.height += 280; 
    newFrame.origin.x -= 3.2; 
    newFrame.origin.y += 100; 
    _imageOne.frame = newFrame; 
    [_imageOne.superview bringSubviewToFront:_imageOne]; 
    } 
+0

Привет, спасибо за вашу помощь. Теперь я добавил часть своего кода в исходный вопрос. Я не уверен, как применить это к моей ситуации. Спасибо – user3641747

+0

Отредактировано @ user3641747 – peig

+0

Спасибо, но почему-то, когда я сейчас нажимаю на изображение, он просто исчезает! @peig – user3641747

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