2011-08-08 12 views
5

jestem wyświetlając UIViewController przez następujący sposób:UIModalTransitionStylePartialCurl pół strona


MyViewController *myVc = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]; 
[myVc setModalTransitionStyle:UIModalTransitionStylePartialCurl]; 
[self presentModalViewController:myVc animated:YES]; 

Jeśli mam rysowania MyViewController „s zobaczyć przejście wpływają tylko pół strony (co chcę).

W moim przypadku Rysuję cały MyViewController „s view więc przejście zajmuje wpłynąć na cały widok

Jeśli Rysuję tylko pół widoku przejście zajmuje wpłynąć na połowie ekranu ale nadal mają "martwą strefę", która jest pokazywana i nie jest narysowana.

enter image description here

Moje pytanie brzmi: w jaki sposób przejście ma wpływ tylko na połowie ekranu (jak na zdjęciu), ale nadal będę w stanie wyciągnąć całą widok więc nawet jeśli przejście pokazuje tylko połowę ekran, cały pokazany obszar zostanie narysowany:

+0

nie widzę pytanie tutaj ... – memmons

+0

Czy masz jakiekolwiek problemy z paska narzędzi podczas wdrażania stronę curl cecha –

Odpowiedz

0

Na czym polega problem? Wypełnij zawartość w modalView w taki sposób, aby wykorzystać widoczny obszar. Jeśli się nie mylę, efekt modalPageCurl nie ma możliwości ustawienia stopnia zawinięcia (lub ilości zajmowanego ekranu).

więc proponuję pominąć tego podejścia & nacisk na starając się pokryć (lub wykorzystanie) aż ekran jest dostępny ...

+1

PO zrobił nie pytaj jak korzystać z modalView w taki sposób ... zapytali mnie, co też chcę wiedzieć ... ponieważ 'UIModalTransitionStylePartialCurl' wykrywa, ile widoku jest w użyciu, a następnie odpowiednio się podwija, w jaki sposób przykryć - lub przyciemnić itp. obszar pod jego skrzydłem. – Jann

-2
MyViewController * myVc = [[MyViewController alloc] initWithNibName:nil bundle:nil]; 
[UIView beginAnimations:@"flipPage" context:NULL]; 
[UIView setAnimationDuration:2]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 
[self.view addSubview:myVc.view]; 
[UIView commitAnimations]; 
4

iOS wykorzystuje tylko dzieci pierwszego poziomu na UIView zdecydować, gdzie aby ustawić częściowe zawinięcie strony. Dzięki temu możesz dodać widok podrzędny drugiego poziomu z ramką np. (0, -50, 320, 100), który wsuwa się w obszar nazywany "martwym obszarem".

1

Uważam, że plakaty tutaj i wątków pokrewnych mają problemy, ponieważ próbują ozdobić tło podstawowego widoku przy użyciu innego widoku, takiego jak widok obrazu. Prawidłowy sposób ustawienia tła - i który nie ma wpływu na zwijanie się strony - polega na faktycznym ustawieniu tła.

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    //BG 
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"StitchTileBG.png"]]; 
} 

Pozostaw użyciu widoki i takie dla elementów interfejsu użytkownika rzeczywisty

Powiązane problemy