W mojej aplikacji chcę dodać wskaźnik aktywności na środku paska nawigacyjnego (pozycja tytułu). Gdy odpowiedź serwisowa została zakończona, powinien zostać zastąpiony starym tytułem. Mam 5 pasków nawigacyjnych w moim application.When wyszukiwane w google mam kilka kodów, ale po prostu zmieniają lewy lub prawy przycisk paska. Any help?Wskaźnik aktywności na środku paska nawigacyjnego
10
A
Odpowiedz
19
Używasz właściwości titleView elementu nawigacji, aby zastąpić tytuł paska nawigacji. Tak aby dodać wskaźnik aktywności, po prostu to zrobić:
UIActivityIndicatorView *aiView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
aiView.hidesWhenStopped = NO; //I added this just so I could see it
self.navigationItem.titleView = aiView;
Gdy chcesz go usunąć i pokazać tytuł ponownie:
self.navigationItem.titleView = nil;
2
Ponadto, jeśli chcesz dodać etykietę tekstową obok wskaźnik aktywności (jak zrobione przez Apple w aplikacji ustawień, np Facebook login), można to zrobić:
- (void)showActivityIndicator
{
UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicatorView.frame = CGRectMake(0, 0, 22, 22);
activityIndicatorView.color = [UIColor blackColor];
[activityIndicatorView startAnimating];
UILabel *titleLabel = [UILabel new];
titleLabel.text = @"Creating Account";
titleLabel.font = [UIFont boldFlatFontOfSize:18];
CGSize fittingSize = [titleLabel sizeThatFits:CGSizeMake(200.0f, activityIndicatorView.frame.size.height)];
titleLabel.frame = CGRectMake(activityIndicatorView.frame.origin.x + activityIndicatorView.frame.size.width + 8,
activityIndicatorView.frame.origin.y,
fittingSize.width,
fittingSize.height);
UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(-(activityIndicatorView.frame.size.width + 8 + titleLabel.frame.size.width)/2,
-(activityIndicatorView.frame.size.height)/2,
activityIndicatorView.frame.size.width + 8 + titleLabel.frame.size.width,
activityIndicatorView.frame.size.height)];
[titleView addSubview:activityIndicatorView];
[titleView addSubview:titleLabel];
self.navigationItem.titleView = titleView;
}
- (void)hideActivityIndicator
{
self.navigationItem.titleView = nil;
}
10
pasqls odpowiedź pracował dobrze dla mnie, pisałem go w szybkim
func showActivityIndicator() {
let activityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.White)
activityIndicatorView.frame = CGRectMake(0, 0, 14, 14)
activityIndicatorView.color = UIColor.blackColor()
activityIndicatorView.startAnimating()
let titleLabel = UILabel.new()
titleLabel.text = "...Connecting"
titleLabel.font = UIFont.italicSystemFontOfSize(14)
let fittingSize = titleLabel.sizeThatFits(CGSizeMake(200.0, activityIndicatorView.frame.size.height))
titleLabel.frame = CGRectMake(activityIndicatorView.frame.origin.x + activityIndicatorView.frame.size.width + 8, activityIndicatorView.frame.origin.y, fittingSize.width, fittingSize.height)
let titleView = UIView(frame: CGRectMake(((activityIndicatorView.frame.size.width + 8 + titleLabel.frame.size.width)/2), ((activityIndicatorView.frame.size.height)/2), (activityIndicatorView.frame.size.width + 8 + titleLabel.frame.size.width), (activityIndicatorView.frame.size.height)))
titleView.addSubview(activityIndicatorView)
titleView.addSubview(titleLabel)
self.navigationItem.titleView = titleView
}
func hideActivityIndicator() {
self.navigationItem.titleView = nil
}
Powiązane problemy
- 1. Jak umieścić obraz na środku paska nawigacyjnego kontrolera UIViewController?
- 2. Wyrównanie paska nawigacyjnego
- 3. pojemnik wewnątrz paska nawigacyjnego na Twitter bootstrap
- 4. Ustaw przezroczystość paska nawigacyjnego Bootstrap na przewijanie
- 5. Zmiana niestandardowej ikony paska nawigacyjnego na jquerymobile
- 6. Wskaźnik aktywności w Swift
- 7. Rozmiar tytułu tytułu paska nawigacyjnego
- 8. Android - wyświetlanie tekstu na środku paska postępu
- 9. Bootstrap 4 kolor paska nawigacyjnego
- 10. Błąd paska nawigacyjnego i FloatingActionButton
- 11. Wskaźnik aktywności miejsca nad dostępnym widokiem
- 12. Wskaźnik aktywności wyświetlania wewnątrz UIButton
- 13. Nie zmieniaj rozmiaru paska nawigacyjnego podczas ukrywania paska stanu.
- 14. Brak górnego paska nawigacyjnego w aplikacji kontrolera paska zakładek
- 15. Jak dodać obraz do paska nawigacyjnego UINavigationController?
- 16. Jak usunąć pasek/cieniowanie paska nawigacyjnego?
- 17. Jak umieścić UILabel w centrum paska nawigacyjnego?
- 18. Jaka jest struktura paska nawigacyjnego Bootstrap 3?
- 19. Swift - iOS: Zmień kolor paska nawigacyjnego
- 20. Kolor tła paska nawigacyjnego - półprzezroczystość to nie
- 21. Element menu paska nawigacyjnego przepełnienie pozycji
- 22. Dostosowywanie paska nawigacyjnego ABPeoplePickerNavigationController w iOS 8
- 23. Bootstrap: dodawanie grupy przycisków do paska nawigacyjnego?
- 24. Wysokość paska nawigacyjnego Twitter-Bootstrap za mała
- 25. Bootstrap 100% wysokości z paska nawigacyjnego
- 26. Ustawianie rozmiaru ikony paska nawigacyjnego ios
- 27. Zmień tytuł paska nawigacyjnego na podstawie wybranej karty?
- 28. Bootstrap scrollspy przesunięte na stałej paska nawigacyjnego nie działa
- 29. Usuń wskaźnik aktywności buforowania z AVPlayerViewController
- 30. android - nie mogę umieścić kciuka na środku paska wyszukiwania
Czy istnieje sposób na wyświetlenie wskaźnika aktywności z tekstem typu "łączenie"? – bobsacameno
@ roi.holtzman, myślę, że powinno być możliwe. Będziesz musiał utworzyć UIView jako tytuł nawigacjiItemView i nadać mu dwa subviews; wskaźnik aktywności i etykieta. – rdelmar