小编Pro*_*air的帖子

你如何正确对齐水平UIStackView?

我还没有在任何地方找到答案,我不确定是否可能,但我正在尝试右对齐水平UIStackView,这样如果隐藏子视图,它们会向右侧而不是左侧移动.以编程方式(在Swift中)或使用Interface Builder

interface-builder swift uistackview

22
推荐指数
3
解决办法
1万
查看次数

tvOS:无论如何都要阻止搜索键盘在滚动时崩溃?

所以我有一个标准设置,用于在我的tvOS应用程序中设置搜索视图.

let storyboard = UIStoryboard(name: "Main", bundle: nil)
guard let resultsController = storyboard.instantiateViewControllerWithIdentifier(SearchResultsViewController.storyboardIdentifier) as! SearchResultsViewController

let searchController = UISearchController(searchResultsController: resultsController)
searchController.searchResultsUpdater = resultsController
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.placeholder = NSLocalizedString("Enter keyword (e.g. iceland)", comment: "")

let searchContainer = CustomUISearchContainerViewController(searchController: searchController)
Run Code Online (Sandbox Code Playgroud)

当推入导航堆栈时,这是一个视图,其顶部有搜索栏,下面的结果如下所示

在此输入图像描述

因此,每当结果很大并且我必须滚动键盘时,只要我向上滚动并向上滑过最顶端的结果,键盘就会折叠并再次展开.有什么方法可以防止这种行为吗?我只是希望它一直保持开放状态.我想的可能是子类化UISearchController,但我不确定在那里甚至可以替换

uisearchbardelegate apple-tv swift uisearchcontroller tvos

16
推荐指数
1
解决办法
677
查看次数

如何从swift中的UICollectionView中的UIView中删除焦点阴影?

我正在使用swift开发一个tvOS项目,并且水平对齐UICollectionView,每个UICollectionViewCell都是一个由a UIImageView和a 组成的自定义UIView Label.所以我的UICollectionView看起来像这样:

| UIImageView |   | UIImageView |
| Label       |   | Label       |  
Run Code Online (Sandbox Code Playgroud)

我还希望图像随着特定视图的增加而缩小或缩小焦点.在我的集合视图中,我添加了代码

func collectionView(collectionView: UICollectionView, canFocusItemAtIndexPath indexPath: NSIndexPath) -> Bool {
        return true
}
Run Code Online (Sandbox Code Playgroud)

在我的自定义单元类中,我有这条线

imageView.adjustsImageWhenAncestorFocused = true;
Run Code Online (Sandbox Code Playgroud)

所以这有点奏效,虽然有2个问题.

似乎集合中的所有观点都有一个奇怪的阴影,即使它们没有聚焦.然后当它们聚焦时,图像会按预期增长,但它下面会有另一个阴影.你可以在这里看到我的意思:

这个截图

集合中的第一项具有焦点

我怎么摆脱他们?我已经尝试了所有这些,但它们似乎都没有用

contentView.layer.shadowOpacity = 0.0  // My imageView is a subview of this
contentView.layer.shadowColor = UIColor.clearColor().CGColor
imageView.layer.shadowOpacity = 0.0
imageView.layer.shadowColor = UIColor.clearColor().CGColor
Run Code Online (Sandbox Code Playgroud)

xcode uiview uicollectionview swift tvos

6
推荐指数
1
解决办法
1493
查看次数

导航回时未调用tvOS searchController viewWillAppear

所以我按照添加搜索视图控制器的推荐方式的说明进行操作。基本上

let resultsController = storyboard.instantiateViewControllerWithIdentifier(SearchResultsViewController.storyboardIdentifier) as? SearchResultsViewController
let searchController = UISearchController(searchResultsController: resultsController)

searchController.searchResultsUpdater = resultsController
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.placeholder = NSLocalizedString("Enter keyword (e.g. iceland)", comment: "")               

let searchContainer = UISearchContainerViewController(searchController: searchController)
self.navigationController?.pushViewController(searchContainer, animated: true)
Run Code Online (Sandbox Code Playgroud)

并且当它第一次加载viewWillAppear()my 时resultsController被调用,但是如果我单击结果然后按下菜单按钮(返回堆栈),viewWillAppear()则不会再次调用。有没有办法捕捉那个出现事件?

uiviewcontroller viewwillappear swift tvos

5
推荐指数
0
解决办法
296
查看次数

如何在Objective-C中访问AVMediaSelectionKeyValueOption的属性?

因此,我正在处理带有字幕轨道的视频,并且尝试访问每个视频的名称和语言代码以显示在菜单中。目前我正在做:

AVMediaSelectionGroup *selectionGroup = [self.currentAsset mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicLegible];
NSArray *subtitles = selectionGroup.options;
self.subtitlesOptions = [NSMutableArray arrayWithObject:@{ @"label": @"Off", @"value": @"off" }];

for(AVMediaSelectionOption *track in subtitles) {
    NSString *title = track.displayName; // This isn't right
    NSString *language = track.locale.localeIdentifier;
    [self.subtitlesOptions addObject:@{ @"label":title, @"value":language }];
}
Run Code Online (Sandbox Code Playgroud)

当我打印每个track对象时,都会得到如下所示的信息。

<AVMediaSelectionKeyValueOption: 0x171c79c40, language = engcc, mediaType = 'sbtl', title = English Closed Captions>
Run Code Online (Sandbox Code Playgroud)

我可以正确地获得语言,但问题是与语言displayName无关title,在这种情况下,它实际上返回“ engcc”而不是“英语隐藏式字幕”。有什么办法可以得到title吗?

objective-c avplayer tvos

5
推荐指数
1
解决办法
353
查看次数

从浏览器上传到S3时为什么会出现403错误?

因此,我尝试浏览此处的先前答案,但似乎没有任何效果。我正在使用Dropzone,它似乎发出了一个OPTIONS请求,以获取所有允许的CORS相关信息,但它似乎未正确返回

因此,通过查看Chrome开发者工具,我可以看到以下请求标头

Host: mybucket.s3.amazonaws.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: POST
Origin: http://localhost:9010
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Access-Control-Request-Headers: accept, cache-control, content-type, x-requested-with
Accept: */*
Referer: http://localhost:9010/upload
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Run Code Online (Sandbox Code Playgroud)

这些是我得到的响应标题

HTTP/1.1 403 Forbidden
x-amz-request-id: 9BE37C4F32052EAB
x-amz-id-2: Zxg+v9AQ7G7sgMKz4P7xleUhrymyWGbBNNof8jFFsZ5n0Xw8T/mPovbMO55HZ5fL
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Fri, 28 Aug 2015 18:35:26 GMT
Server: AmazonS3
Run Code Online (Sandbox Code Playgroud)

根据AWS文档,我应该在其中获得Access-Control-Allow-MethodsAccess-Control-Allow-Header,但似乎并非如此。

我知道我的存储桶有效,并且网址有效,并且存储桶中的CORS文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod> …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-s3 amazon-web-services cors dropzone.js

4
推荐指数
1
解决办法
5534
查看次数

在Swift(tvOS)中,您如何更改UIButton的高光和焦点颜色?

所以我有一些按钮,我通过Interface Builder添加到视图中,而不是使用我自定义的系统按钮.我试图弄清楚如何改变特征,例如在不同状态(突出显示,聚焦等)期间的文本颜色和背景颜色.

我似乎不能通过IB做到这一点,所以我可能会创建一个UIButton的子类并在那里更改它们,但是我很难找到要更改的属性.我没有在文档中明确提到它们

interface-builder uibutton swift tvos

3
推荐指数
3
解决办法
5874
查看次数