我正在swift开发一个tvOS应用程序。我在应用中使用IO
。
我的要求是在10秒后自动隐藏标签栏,焦点可以移动到标签栏项目内的UITabBarController
。
我试图覆盖AVPlayerViewController
,但焦点无法转移到preferredFocusedView
。
AVPlayerViewController
请建议我如何以编程方式移动焦点。
答案 0 :(得分:2)
问题focus
当时不在viewController
,而焦点在tabBarController
,所以我建议你这样做,
创建一个TabBarController
子类并将故事板中tabController的类设置为该类,然后在tabBarController
子类中执行类似这样的操作。
#import "TabBarViewController.h"
@interface TabBarViewController ()
@end
@implementation TabBarViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.tabBar.alpha = 0;
// set alpha = 1 back again when you need.
}
- (UIView*)preferredFocusedView
{
// you can also add some if else here
return [self.selectedViewController preferredFocusedView];// or you can do self.selectedViewController.view if that view is focusable
}
@end
我选择的视图控制器是FirstViewController,看起来像这样,工作正常。
#import "FirstViewController.h"
@interface FirstViewController ()
@property (weak, nonatomic) IBOutlet UIButton *button;
@end
@implementation FirstViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (UIView*)preferredFocusedView
{
return _button;// return view which you want to make focus able
}
@end