我第一次使用UICollectionView不知道如何做到这一点.我正在尝试为tvOS创建一个应用程序,并希望显示像airbnb tvos app这样的菜单.我以某种方式尝试实现该特定格式didUpdateFocusInContext但问题是关于第一次出现,因为第一次出现发生在默认点上,即0,0的集合视图导致混乱.继承了我迄今为止所做的工作.
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as? ShowCell {
menuData = dataArray[indexPath.row] as! NSDictionary
cell.configureCell(menuData.objectForKey("name") as! String)
return cell
}
else {
return ShowCell()
}
}
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
if let previousItem = context.previouslyFocusedView as? ShowCell {
UIView.animateWithDuration(0.2, animations: { () -> Void in
previousItem.showImg.frame.size = self.originalCellSize
})
}
if let nextItem = context.nextFocusedView as? ShowCell {
UIView.animateWithDuration(0.2, animations: { …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个使用webservices的函数,现在我想检查if(id)对象是否为null.我在做什么在这里:
-(void)callService:(NSString*)request param:(NSString*) parameters completion:(void (^)(NSArray *list, NSError *error))completionHandler
{
[self.manager POST:request parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"Response Object: %@", responseObject);
if (![responseObject isKindOfClass:[NSNull class]]) {
[self methodUsingJsonFromSuccessBlock:responseObject];
if (completionHandler) {
//NSLog(@"%@", list);
completionHandler(list,nil);
}
}
else {
NSLog(@"Nothing found");
}
}failure:^(NSURLSessionDataTask *task, NSError *error) {
//NSLog(@"Error: %@", [error description]);
if (completionHandler) {
completionHandler(nil,error);
}
}];
}
Run Code Online (Sandbox Code Playgroud)
但我在断点上找到的是当(id)为null时它有NSZeroData但没有NSNull所以它总是通过我的条件.我在用AFNetworking

在此先感谢帮助我.
Idk为什么我的图像在缓存中占用的尺寸比原始尺寸大.我正在使用alamofireImage库来实现此目的,我的应用程序是针对tvOS的.这是我的代码.
let photoCache = AutoPurgingImageCache(
memoryCapacity: 100 * 1024 * 1024,
preferredMemoryUsageAfterPurge: 60 * 1024 * 1024
)
Alamofire.request(.GET, request, headers: headers)
.responseJSON { response in
if let JSON = response.result.value {
self.imagesArray = JSON["results"] as! NSMutableArray
for result in self.imagesArray{
self.getNetworkImage(result["url"] as! String, completion: { (UIImage) in
})}}}
func getNetworkImage(urlString: String, completion: (UIImage -> Void)) -> (Request) {
return Alamofire.request(.GET, urlString, headers: headers).responseImage { (response) -> Void in
guard let image = response.result.value else { return }
completion(image)
if …Run Code Online (Sandbox Code Playgroud) ios ×2
swift ×2
tvos ×2
afnetworking ×1
caching ×1
center ×1
nsnull ×1
object ×1
objective-c ×1
swift2 ×1