objective c - Search Template tvOS -


anybody know how implement search template in apple tvos human interface guidelines, using native development in objective-c or swift, without tvml ?

so, after 1 day of research found solution:

objective - c

if in application tabbar, created subclass uitabbarcontroller e.g. aptabbarcontroller. in aptabbarcontroller, in method

- (void)viewdidload 

i next:

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]; 

where:

  1. storyboard - storyboard
  2. searchresultsviewcontroller - controller storyboard contains collectionview
  3. uisearchcontroller - controller allow find need
  4. uisearchcontainerviewcontroller - , these 1 view controller tabbarcontroller
  5. in "newtab" - add fresh created viewcontroller need

but, problem found can't catch searched text. that, create subclass uisearchcontroller, , implement custom

initwithviewcontroller 

in case looks these:

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, , now, replace

uisearchcontroller *searchcontroller = [[uisearchcontroller alloc] initwithviewcontroller:myviewcontroller]; 

with

searchexercisesviewcontroller *searchcontroller = [[searchexercisesviewcontroller alloc] initwithviewcontroller:myviewcontroller]; 

all done. remain sent data viewcontroller contains collection view, , implement logic search. sent data can delegate pattern or nsnotification. can find how implement in post:

it possible pass data popviewcontrolleranimated?

swift

in swift same, how that, can find on apple example these link:

https://github.com/brunogb/tvexamples/tree/master/uikitcatalogtvoscreatingandcustomizinguikitcontrols


Comments

Post a Comment

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

unity3d - Fatal error- Monodevelop-Unity failed to start -