2012-03-30 4 views
0

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

UIBarButtonItem *flipButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"Flip"            
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(flipView)]; 

self.navigationItem.leftBarButtonItem = flipButton; 
UIBarButtonItem *returnButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"return"            
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(returnView)]; 

self.navigationItem.leftBarButtonItem = returnButton; 

и я установить действие, как этот

- (void)flipView{ 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:1.0]; 
    [UIView setAnimationTransition:UIViewAnimationOptionTransitionFlipFromTop 
          forView:[self view] 
          cache:YES]; 
    [self.view addSubview:secondaryView]; 
    [UIView commitAnimations]; 
} 


- (void)returnView { 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:1.0]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
          forView:[self view] 
          cache:YES]; 
    [secondaryView removeFromSuperview]; 
    [UIView commitAnimations]; 
} 
+0

Так в чем проблема точно ..? –

+0

Вы вызываете self.navigationItem.leftBarButtonItem = flipButton; и затем вы вызываете self.navigationItem.leftBarButtonItem = returnButton; Итак, я понимаю, что у вас есть только returnButton, это означает, что -flipView никогда не вызывается. – Canopus

+0

@AdilSoomro flipbutton не отображается кнопка возврата виден insted of flip .. каждый раз, когда он выполняет действие вида возврата – krishna

ответ

0

Конечно, поскольку вы помещаете код, ничего не происходит, потому что вы не даете возможности сделать флип.

пытаются переместить эти строки:

UIBarButtonItem *returnButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"return"            
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(returnView)]; 

self.navigationItem.leftBarButtonItem = returnButton; 

внутри FlipView, до или после анимации. И скопируйте эти другие строки:

UIBarButtonItem *flipButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"Flip"            
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(flipView)]; 

self.navigationItem.leftBarButtonItem = flipButton; 

внутри возвратаView. Вы увидите изменение.

Надеюсь быть полезным!

0

Набор [self.navigationController pushViewController:self.secondaryView animated:YES];

вместо [self.view addSubview:secondaryView]; и писать

forView:self.navigationController.view cache:NO]; 

вместо forView:[self view]. `

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