2010-07-19 10 views
10

W moim iPada Wizjer (iTunes Link), staram się odtworzyć wygląd UISegmentedControl jak widać w stopce produkcji Keynote w popover:Korzystanie z UISegmentedControl w stopce UIPopoverController

Keynote

IPad HIG sugeruje użycie wyrównanego do dołu paska UIToolbar, ale jego wygląd jest niepoprawny. Ten zrzut ekranu pokazuje Black Opaque, ale żaden ze standardowych stylów nie pasuje do Keynote.

Viewfinder

Wszelkie porady na odtworzenie Keynote wygląd będą mile widziane. Jeśli nie masz Keynote na iPadzie, możesz zobaczyć tę samą technikę w stopce popover Zakładki w Mapach.

Odpowiedz

18

Należy ustawić toolbarItems w swoim najlepszym UIViewController w swoim UIPopover i odpowiednio skonfigurować. Zastanów się coś takiego:

 NSArray *segmentedItems = [NSArray arrayWithObjects:@"Bookmarks", @"Recents", @"Contacts", nil]; 
     UISegmentedControl *ctrl = [[UISegmentedControl alloc] initWithItems:segmentedItems]; 
     ctrl.segmentedControlStyle = UISegmentedControlStyleBar; 
     ctrl.selectedSegmentIndex = 0; 

     UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:ctrl]; 
     ctrl.frame = CGRectMake(0.0f, 5.0f, 320.0f, 30.0f); 

     NSArray *theToolbarItems = [NSArray arrayWithObjects:item, nil]; 
     [self setToolbarItems:theToolbarItems]; 
     [ctrl release]; 
     [item release]; 

EDIT: Teraz mam go, po prostu nie ustawić tintColor będzie dziedziczyć prawidłowy kolor (cokolwiek to jest). Zrzut ekranu poniżej teraz wygląda dokładnie jak ten na mapach Google App:

alt text http://www.memorylifter.com/services/dev/linklist/SCREENSHOT_TABBAT.png

+0

Segmentowane przyciski sterowania nadal nie wyglądają dobrze. –

+0

Tak jak napisałem, musisz wymyślić poprawny kolor TintColor i ustawić go, wywołując ctrl.tintColor = [UIColor whateverColor]. Możesz spróbować użyć Photoshopa, aby uzyskać kolor. Ponieważ nie mam Photoshopa i nie ma innych możliwości, aby uzyskać kod koloru ze zrzutów ekranu, wybieram dowolny kolor. Również nie czuję się jak losowo próbuje teraz. – thatsdisgusting

+0

Czy tintColor zmieni kolor przycisków, a nie tylko tło? –

-1

Wygląda na to, że umieszczają segmentowaną kontrolkę w widoku stopki tabeli. (pierwszy zrzut ekranu). Spróbowałbym tego, jeśli to możliwe, w przeciwnym razie mógłbyś pracować nad podklasowaniem UIToolbar i nadpisywaniem drawRect: aby uzyskać pożądany wygląd.

+0

Pracuję nad zrobieniem czegoś bardzo podobnego teraz i znalazłem to pytanie z moją bezużyteczną odpowiedzią na ten temat. ciekawy. –

1

po prostu wpadł na ten temat. Musisz wcisnąć UINavigationController do UIPopover. Twój widok powinien zostać włączony do tego kontrolera nawigacyjnego. To dostaje górny pasek (pasek nawigacji, aby ładnie sformatować). Zakładam, że dolny pasek podąża za tym, ale nie testowałem go!

Powiązane problemy