小编MQ.*_*MQ.的帖子

在UICollectionView中将单元格对齐在中心(水平)

我第一次使用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)

center ios uicollectionview swift tvos

7
推荐指数
1
解决办法
2913
查看次数

如何在ios中检查(id)对象是否为null?

我已经创建了一个使用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

下面是响应对象的详细信息:

在此先感谢帮助我.

object objective-c ios afnetworking nsnull

2
推荐指数
1
解决办法
3826
查看次数

图像在缓存中占用的空间比tvos中的原始大小要多

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)

caching swift swift2 tvos alamofireimage

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