Jeder weiß, wie man Suchvorlage wie in Apple tvOS Human Interface Guidelines implementiert, mit nativer Entwicklung in Objective-C oder Swift, ohne TVML?Suchvorlage tvOS
Antwort
also nach dem 1. Tag der Forschung fand ich Lösung:
Objective - C
Wenn in Anwendung ist tabBar, i eine Unterklasse von UITabBarController erstellt z.B. APTabBarController. In APTabBarController, in Verfahren
- (void)viewDidLoad
ich als nächstes tun:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
SearchResultsViewController *myViewController = [storyboard instantiateViewControllerWithIdentifier:@"SearchResultsViewController"];
UISearchController *searchController = [[UISearchController alloc] initWithViewController:myViewController];
UISearchContainerViewController *containerVC = [[UISearchContainerViewController alloc] initWithSearchController: searchController];
containerVC.title = @"Search";
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: containerVC];
NSMutableArray *newTab = [self.viewControllers mutableCopy];
[newTab addObject: navigationController];
[self setViewControllers: newTab];
Wo:
- Storyboard - mein Storyboard ist
- SearchResultsViewController - mein Controller von Storyboard ist die Kollektion enthält
- UISearchController - ist Controller, die zulassen Sie benötigen
- UISearchContainerViewController zu finden, was zu tun - und diese ist wie ein View-Controller von TabBarController
- In "newtab" - ich hinzufügen frisch Viewcontroller erstellt, i
brauchen aber Problem, das ich gefunden ist dass ich gesuchten Text nicht fangen kann. Dazu eine Unterklasse von UISearchController, erstellen und benutzerdefinierten
initWithViewController
In meinem Fall implementieren sieht es aus wie diese:
In .h
#import <UIKit/UIKit.h>
@interface SearchExercisesViewController : UISearchController
- (id) initWithViewController:(UIViewController *) viewController;
@end
In .m
#import "SearchExercisesViewController.h"
@interface SearchExercisesViewController() <UISearchBarDelegate>
@property (nonatomic, strong) UIViewController *viewController;
@end
@implementation SearchExercisesViewController
- (id) initWithViewController:(UIViewController *) viewController {
self = [super initWithSearchResultsController:viewController];
if (self) {
self.viewController = viewController;
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.searchBar.delegate = self;
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
NSLog(@"%@",searchText);
}
@end
Profit, und jetzt, ersetzen
UISearchController *searchController = [[UISearchController alloc] initWithViewController:myViewController];
mit
SearchExercisesViewController *searchController = [[SearchExercisesViewController alloc] initWithViewController:myViewController];
Alles erledigt. Nun müssen nur noch Daten an viewController gesendet werden, die die Sammlungsansicht enthalten, und die Logik für die Suche implementiert werden. Für gesendete Daten können Sie das Muster delegieren oder NSNotifikation.Sie können feststellen, wie das in diesem Beitrag zu implementieren:
it possible to Pass Data with popViewControllerAnimated?
Swift
In swift ist das gleiche, wie das zu tun, Sie auf Apple-Beispiel aus diesem Link zu finden:
Klingt wie Sie bei UISearchController
suchen.
- 1. Interact iPhone mit tvOS
- 2. Benötigte Symbolgrößen für tvOS
- 3. Apple tvOS und OAuth
- 4. YouTube-URL-Schema tvOS
- 5. CloudKit Abonnements in tvOS
- 6. UIScrollView on tvOS
- 7. UIDatePicker Ersatz für tvOS?
- 8. Datumsauswahl in tvOS
- 9. tvos Overriding pressesBegan
- 10. Authentifizierung Dropbox auf tvOS
- 11. tvOS Menü Button Standardverhalten
- 12. tvOS AVPlayerViewController Video Info
- 13. Tastatur in tvOS anpassen
- 14. iCloud Synchronisation auf tvOS
- 15. Wie Banneranzeigen in tvOS integrieren?
- 16. tvOS UITableView Scrolle zur Zelle
- 17. UITextView scrollt nicht in tvOS
- 18. Menüschaltflächen in tvOS SpriteKit App
- 19. Anzeige langer Texte auf tvOS
- 20. tvOS adjustImageWhenAncestorFocused crops Bildsammlungsansicht Zelle
- 21. tvOS: Erzwinge die Fokussierung einer Schaltfläche
- 22. tvOS; Launch Image erscheint nicht beim Start
- 23. Safari Web Inspector Einfrieren auf tvOS Load
- 24. TVOS UIViewController empfängt keine BerührungenBegan oder touchesMoved
- 25. TVML-Dokument in Swift tvOS Projekt
- 26. UIFocusGuide funktioniert nicht auf UICollectionView in tvOS
- 27. UICollectionViewCell zu UIButton Fokus in tvOS
- 28. Welches Drittanbieter-Analytics-SDK unterstützt tvOS?
- 29. Wie man Vimeo Inhalt auf tvOS spielt
- 30. Wie verlinke ich auf Netflix auf tvOS?