5

Mam UIViewController i po naciśnięciu przycisku chcę, aby widok pół ekranu przesuń się z UIPicker w nim.Jak wyświetlić widok z połowy ekranu?

Zrobiłem UIView w IB z UIPicker wraz z UIToolBar z przyciskami Gotowe/Anuluj.

Jak mogę to zrobić, aby tylko ten widok w połowie przesuwał się, a widok tła nadal jest wyświetlany, ale przyciemniony lub nie może być odtwarzany.

Używam tego kodu do tej pory:

- (void)showModalView 
{ 
    [self.popupView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)]; 
    [self.view addSubview:self.popupView]; 

    [UIView animateWithDuration:.2 animations:^{ 
     [self.popupView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
    }]; 
} 

Oto pic: http://www.box.net/shared/static/08ji4s0f6i1b8qubrtz6.png

Odpowiedz

2

Oto, czego potrzebujesz jego kod open source na github TDSemiModalView o próbnik wyboru w połowie widoku. Sprawdź projekt demonstracyjny wewnątrz kodu. Oto link .. Mam nadzieję, że rozwiąże twój problem.

TDSemiModalClass

4

@Jon:

METODA 1:

Sprawdź swój główny przejrzyj transperant, ustawiając jego wartość alfa na 0 i dodaj podgląd do widoku głównego, który jest tylko połową ekranu głównego i zachowaj go nieprzezroczyste (wartość alfa jako 1), jak byłoby domyślnie.

Następnie wystarczy przedstawić kontroler widoku przy użyciu obecnego kontrolera widoku modalnego.

Należy pamiętać, że z powodu transperancji można byłoby zobaczyć połowę poprzedniego widoku, ale nie można go dotknąć, ponieważ jest tam widok transperantu.

Metoda 2:

Kolejna praca wokół jest animować UIView, który jest wielkości połowy istniejącego widoku.

Następnie należy po prostu śledzić animację UIView.

Tutaj, ponieważ jest to tylko UIView, który zostanie dodany jako podgląd do istniejącego widoku, będzie można dotknąć reszty ekranu.

Możesz więc zastosować jedną z metod zgodnie z wymaganiami.

Mam nadzieję, że to pomoże.

Powiązane problemy