- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,如果我有 UIViewController
如果我使用这个 `preferredFocusedView ,我可以制作一个专注于 tvOS 的 View ,但是如何让 UICollectionView 的第一个单元格成为焦点?我怎么做?
我试图创建一个 UICollectionViewCell
子类并拥有方法
- (UIView *)preferredFocusedView {
return ([self ifThisIsTheFirstCell]) ? self : nil;
}
最佳答案
“首选焦点”在概念上的工作方式是有一个对象“链”,从应用程序的窗口开始,向下通过 View Controller 和 View ,直到链在可聚焦 View 处结束。最后那个 View 会在你的应用程序启动时获得焦点,或者如果焦点需要重置(例如,如果当前聚焦的 View 从 View 层次结构中移除,UIKit 将需要选择另一个 View 来成为焦点) . preferredFocusedView
方法是您定义链的方式。
例如,UIWindow
工具preferredFocusedView
返回 rootViewController
的首选聚焦 View .概括地说,t 正在做这样的事情:
- (UIView *)preferredFocusedView {
return [self.rootViewController preferredFocusedView];
}
UIViewController
工具
preferredFocusedView
返回它的
view
属性(property)。
UIView
只是返回自己。
UICollectionView
工具
preferredFocusedView
不同的是:在最简单的情况下,它返回第一个单元格。所以你想要的那部分已经为你完成了。如果焦点没有移动到集合中的第一个单元格,那么“链”中更高的部分就是问题所在。
view
View Controller 的属性,那么您需要自己将焦点链引导到集合:
// in your view controller:
- (UIView *)preferredFocusedView {
return myCollectionView;
}
关于uicollectionview - 使 UICollectionView 的第一个单元格专注于 tvOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33842812/
我有一个 Collection View 并以这样一种方式排列它,即在屏幕的一侧有一个单独的列,并且根据焦点中的集合项替换内容。 如果对某个项目的关注超过 0.5 秒,我希望能够换出内容。 这是我目前
这是一种经常出现的情况,对我来说永远不会太容易。我想我会问其他人如何处理它。 想象一下,如果 demo=60 命令行参数的处理是这样完成的: if DemoOptionSpecified() {
我是一名优秀的程序员,十分优秀!