我有一个UICollectionView有不同的项目.当我点击一个项目时,我使用:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
找出被触摸的内容然后基本上将该视图的alpha设置为0以隐藏它.一切正常.现在我想要做的是当你点击UICollectionViewCell所有视图周围的空白区域然后再次出现.我无法找到一种方法,可以让我知道细胞周围的白色空间何时被触摸.有没有一个好方法呢?我已经尝试设置手势识别器,但是当我这样做时,我的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
不叫.有没有办法实现手势识别器,并从那里确定是否轻敲了一个单元格,如果是这样隐藏该单元格,否则显示所有隐藏的单元格?谢谢.
我目前正在使用 FairPlay 流实现离线流。因此,我正在使用AVAssetDownloadTask.
我想向用户提供有关开始下载的大小的反馈:
您确定要下载此流吗?下载需要 2.4GB,您目前还有 14GB 的空间
我已经检查过类似countOfBytesReceived和的属性,countOfBytesExpectedToReceive但这些不会返回正确的值。
let headRequest = NSMutableURLRequest(URL: asset.streamURL)
headRequest.HTTPMethod = "HEAD"
let sizeTask = NSURLSession.sharedSession().dataTaskWithRequest(headRequest) { (data, response, error) in
print("Expected size is \(response?.expectedContentLength)")
}.resume()
Run Code Online (Sandbox Code Playgroud)
打印大小为 2464,最后大小为 3GB。
在下载过程中,我记录了上述属性:
func URLSession(session: NSURLSession, assetDownloadTask: AVAssetDownloadTask, didLoadTimeRange timeRange: CMTimeRange, totalTimeRangesLoaded loadedTimeRanges: [NSValue], timeRangeExpectedToLoad: CMTimeRange) {
print("Downloaded \( convertFileSizeToMegabyte(Float(assetDownloadTask.countOfBytesReceived)))/\(convertFileSizeToMegabyte(Float(assetDownloadTask.countOfBytesExpectedToReceive))) MB")
}
Run Code Online (Sandbox Code Playgroud)
但这些保持为零:
已下载 0.0/0.0 MB
fairplay nsurlsession nsurlsessiondatatask avassetdownloadtask
我在Swift中使用ReactiveCocoa如下:
registerButton?.rac_signalForControlEvents(UIControlEvents.TouchUpInside).subscribeNextAs(registerButtonTapped)
private func registerButtonTapped(button: UIButton){
// Method here
}
Run Code Online (Sandbox Code Playgroud)
这会创建一个保留周期.
我知道解决方案如下:
registerButton?.rac_signalForControlEvents(UIControlEvents.TouchUpInside).subscribeNextAs({ [weak self] (button:UIButton) in
self?.registerButtonTapped(button)
})
Run Code Online (Sandbox Code Playgroud)
但这强制我使用subscribeNextAs块而不是更好的oneliner传递方法.
知道如何在没有保留周期的情况下使用oneliner吗?
是否可以在自定义UINavigationBar子类中调整后退箭头的位置.这是必需的,因为具有自定义调整高度的导航栏中的位置是错误的.