2012-08-06 2 views
0

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

subView = [[UIView alloc] initWithFrame:CGRectMake(20, 125, 560,530)]; 

[subView setBackgroundColor:[UIColor colorWithRed:216./255 green:238./255 blue:209./255 alpha:1.0]]; 


UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
backButton.frame = CGRectMake(40,20, 169,42); 
UIImage*btnImage = [UIImage imageNamed:@"back.PNG"]; 

[backButton setImage:btnImage forState:UIControlStateNormal]; 

[backButton addTarget:self action:@selector(backButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; 

[subView addSubview:backButton]; 

[self.view addSubview:subView]; 

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

ответ

0
subView = [[UIView alloc] initWithFrame:CGRectMake(320, 125, 560,530)]; 

[subView setBackgroundColor:[UIColor colorWithRed:216./255 green:238./255 blue:209./255 alpha:1.0]]; 


UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
backButton.frame = CGRectMake(40,20, 169,42); 
UIImage*btnImage = [UIImage imageNamed:@"back.PNG"]; 

[backButton setImage:btnImage forState:UIControlStateNormal]; 

[backButton addTarget:self action:@selector(backButtonClicked:)  forControlEvents:UIControlEventTouchUpInside]; 

[subView addSubview:backButton]; 

[self.view addSubview:subView]; 

Кнопка включения кода нажмите записи приведены ниже в функции

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 
subView.frame = CGRectMake(20, 125, 560,530); 
[UIView commitAnimations]; 

Использование этого. надежда помогает

+0

нет не happeig я хочу как нормально смотреть controols переворачивает к следующему экрану – user1567956

+0

Я использовал этот код несколько раз это работает. Я думаю, что вам нужно сначала установить кадр CGRectMake (320,0,320,480) , а затем в рамке анимации установить CGRectMake (0,0,320,480) вы также можете установить время анимации вместо 0,5 секунды. – Mahendra

+0

Это движение быстро, мы можем сделать это медленно, чтобы смотреть анимацию – user1567956

0

Используйте блок анимации UIView

- (IBAction)backButtonClicked:(id)sender { 
    [UIView animateWithDuration:1.0f animations:^{ 
     CGRect frame = CGRectMake(subview.frame.size.width, subview.frame.origin.y, subview.frame.size.width, subview.frame.size.height); 
     subview.frame = frame; 
    } completion:^(BOOL finished) { 
     CGRect frame = CGRectMake(320.0, subview.frame.origin.y, subview.frame.size.width, subview.frame.size.height); 
     subview.frame = CGRectMake(20, 125, 560,530);  
    }]; 
} 
Смежные вопросы