2009-09-16 10 views
5

Zastanawiam się, w jaki sposób można wyszarzyć część widoku podobną do sposobu, w jaki UIAlertView usuwa wszystko poza ramką komunikatu? Teraz używam innego niestandardowego widoku na obszarze docelowym, ale nie wygląda to tak ładnie.Wyszły widok w iphone, jak?

Wszelkie pomysły?

Odpowiedz

8

Uzyskuję dobre wyniki, korzystając z metody, którą już wypróbowałeś. może błądzenie z alfą to dobry pomysł?

mask = [[UIView alloc] initWithFrame:window.frame]; 
[mask setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.78]]; 
[self.view addSubview:mask]; 

Później w kodzie można go usunąć:

[mask removeFromSuperview]; 
or 
[mask setHidden:YES]; 

Jeśli chcemy, aby było jeszcze lepiej, przypuszczam, że można spróbować, stosując gradient, zarówno programowo, lub jako obraz, i za pomocą tego, aby przyciemnić krawędzie ekranu tak, aby wyświetlana zawartość była źródłem światła.

+0

Tak właśnie zrobiłem, z alfa –

+0

Twoja odpowiedź jest dobra, ale w tym przypadku wszystkie inne subviews nie będą już interaktywne. –