我还没有在任何地方找到答案,我不确定是否可能,但我正在尝试右对齐水平UIStackView,这样如果隐藏子视图,它们会向右侧而不是左侧移动.以编程方式(在Swift中)或使用Interface Builder
所以我有一个标准设置,用于在我的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,但我不确定在那里甚至可以替换
我正在使用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) 所以我按照添加搜索视图控制器的推荐方式的说明进行操作。基本上
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()则不会再次调用。有没有办法捕捉那个出现事件?
因此,我正在处理带有字幕轨道的视频,并且尝试访问每个视频的名称和语言代码以显示在菜单中。目前我正在做:
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吗?
因此,我尝试浏览此处的先前答案,但似乎没有任何效果。我正在使用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-Methods和Access-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) 所以我有一些按钮,我通过Interface Builder添加到视图中,而不是使用我自定义的系统按钮.我试图弄清楚如何改变特征,例如在不同状态(突出显示,聚焦等)期间的文本颜色和背景颜色.
我似乎不能通过IB做到这一点,所以我可能会创建一个UIButton的子类并在那里更改它们,但是我很难找到要更改的属性.我没有在文档中明确提到它们
swift ×5
tvos ×5
amazon-s3 ×1
apple-tv ×1
avplayer ×1
cors ×1
dropzone.js ×1
javascript ×1
objective-c ×1
uibutton ×1
uistackview ×1
uiview ×1
xcode ×1