我正在创建一个测试tvOS应用程序.我有一个图像(在tableview之外),当“聚焦”没有被选中时,我希望图像改变…我知道苹果已经添加了几种聚焦方法.有人可以告诉我,当它处于“焦点”时,我将使用哪些方法来更改此图像?我将如何使用它?
我会使用这种方法:
我会使用这种方法:
- (BOOL)tableView:(UITableView *)tableView canFocusRowAtIndexPath:(NSIndexPath *)indexPath
或者我会使用:
- (void)tableView:(UITableView *)tableView didUpdateFocusInContext:(UITableViewFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator
请告诉我!谢谢!
解决方法
如果要在UITableViewCell项获得焦点时更改图像,则应使用第二种方法.
- (void)tableView:(UITableView *)tableView didUpdateFocusInContext:(UITableViewFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator { //You can get focused indexPath like below NSIndexPath *nextIndexPath = [context nextFocusedindexPath]; // Now get image from data source,I will assume you have an images array UIImage *image = [_imagesArray objectAtIndex:nextIndexPath.row]; // Set image to image view,assuming you have a property imageView _imageView.image = image; }