【问题标题】:How can I make a UITextView the focus in tvOS?如何使 UITextView 成为 tvOS 中的焦点?
【发布时间】:2015-11-07 05:27:18
【问题描述】:

在 tvOS 中,有一个集合视图。每个“行”都是一个图像。每个图像都有与之关联的文本。当用户“悬停”在图像上时,文本会更改以匹配图像。但是,我希望用户能够转到文本而不将焦点放在“选择”的图像与所选图像和 UITextView 之间的其他图像之间。

使用播放/暂停按钮,我可以切换 UITextView 的背景颜色,但 UITextView 没有获得焦点。用户必须使用遥控器来选择 UTTextView。

代码如下:

- (void)pressesBegan:(NSSet<UIPress *> *)presses withEvent:(UIEvent *)event {

    for (UIPress *item in presses)
    {
        if(item.type == UIPressTypePlayPause) {

            //should reactivate uicollectionview

            if (_isPlay) {
                _isPlay = NO;
                _artistsCollectionView.userInteractionEnabled = YES;
                _textViewForBiosAndHelp.backgroundColor = [UIColor lightGrayColor];
                [_textViewForBiosAndHelp resignFirstResponder];
                [_artistsCollectionView becomeFirstResponder];
                [_artistsCollectionView preferredFocusedView];


               //the purpsoe is to go to the textview. it does not.
            }else{
                _isPlay = YES;
                 _artistsCollectionView.userInteractionEnabled = NO;
                _textViewForBiosAndHelp.backgroundColor = _aColor;
                [_artistsCollectionView resignFirstResponder];
                [_textViewForBiosAndHelp becomeFirstResponder];
                [ _textViewForBiosAndHelp preferredFocusedView];
            }
        }

    }
}

【问题讨论】:

    标签: objective-c tvos apple-tv


    【解决方案1】:

    默认情况下,UITextView 在 tvOS 上不可聚焦,这意味着它会从 canBecomeFocused 返回 NO。如果您使文本视图可选择,它是可聚焦的。现在有一个错误,在界面生成器中检查“可选择”不起作用,但如果你在代码中将selectable 设置为YES,那么它就可以了。

    但请注意,UITextView 在获得焦点时不会提供任何 UI 差异。如果您想要任何视觉上的焦点指示,您必须自己更改文本视图的外观。

    另请注意,preferredFocusedView 是只读属性,因此调用该方法无效,除非您使用结果。

    【讨论】:

    • 让我换个说法。我需要做的是:使用播放/暂停按钮使 UITextView 聚焦并“散焦”在 IB 中选中“聚焦时调整图像”的行,使图像不调整。然后在再次点击播放/暂停按钮时发生相反的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多