小编Jam*_*ker的帖子

如何设置UICollectionView动画的持续时间?

我有一个自定义流布局,它正在调整单元格的属性,当它们从CollectionView中插入和删除时具有以下两个函数,但我无法弄清楚如何调整默认动画持续时间.

- (UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
    UICollectionViewLayoutAttributes* attributes = [self layoutAttributesForItemAtIndexPath:itemIndexPath];

    // Assign the new layout attributes
    attributes.transform3D = CATransform3DMakeScale(0.5, 0.5, 0.5);
    attributes.alpha = 0;

    return attributes;
}

- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {

    UICollectionViewLayoutAttributes* attributes = [self layoutAttributesForItemAtIndexPath:itemIndexPath];

    // Assign the new layout attributes
    attributes.transform3D = CATransform3DMakeScale(0.5, 0.5, 0.5);
    attributes.alpha = 0;

    return attributes;
}
Run Code Online (Sandbox Code Playgroud)

grid collectionview ios ios6

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

从NavigationController中删除ViewController后,AVPlayer继续播放

所以我在我的项目中使用ARC,当我添加一个AVPlayerLayer时,它工作得很好,但是当我从UINavigationItem弹出UIViewController时,视频继续在后台播放.有谁知道你会如何处理这个?这似乎很简单,我只是俯瞰.这是我最初实例化的代码.

self.currentItem = [[AVPlayerItem alloc] initWithURL:url];

self.player = [[AVPlayer alloc]initWithPlayerItem:self.currentItem];
self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:player];

self.avPlayerLayer.bounds = self.view.bounds;
self.avPlayerLayer.frame = CGRectMake(0,55, 1024, 670);

self.view.backgroundColor = [UIColor clearColor];

[self.view.layer addSublayer:avPlayerLayer];
Run Code Online (Sandbox Code Playgroud)

这也是我如何确定属性的方式.

@property (strong) AVPlayer *player;
@property (strong) AVPlayerLayer *avPlayerLayer;
@property (strong) AVPlayerItem *currentItem;
Run Code Online (Sandbox Code Playgroud)

也许这完全错了.我不确定何时使用(强)vs(弱).任何情况下都要提前感谢您的帮助.

cocoa-touch ios avplayer automatic-ref-counting

23
推荐指数
2
解决办法
3万
查看次数

如何在AWS DynamoDB中处理空的java字符串集

我正在尝试在AWS DynamoDB表中存储一个字符串数组.在大多数情况下,此数组将填充至少一个字符串.但是,存在阵列可能为空的情况.

我在Java Lambda函数中创建了一个DynamoDB模型,该函数有一组字符串作为其中一个属性.如果我在字符串集为空时尝试保存DynamoDB模型,则会给出一个错误,指出我无法在DynamoDB中存储空集.

所以我的问题是,在我在DynamoDB中保存/更新它之前,如何从我的模型中删除该set属性?

这是模型的一个例子.

@DynamoDBTable(tableName = "group")
public class Group {
    private String _id;
    private Set<String> users;

    @Null
    @DynamoDBHashKey
    @DynamoDBAutoGeneratedKey
    public String getId() {
        return _id;
    }

    public void setId(final String id) {
        _id = id;
    }

    @DynamoDBAttribute
    public Set<String> getUsers(){
        return users;
    }

    public void setUsers(final Set<String> users) {
        this.users = users;
    }

    public void addUser(String userId) {
        if(this.users == null){
            this.setUsers(new HashSet<String>(Arrays.asList(userId)));
        }else{
            this.getUsers().add(userId);
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

我第一次创建一个小组.它可能没有用户,也可能有一个或多个用户.

java amazon-web-services amazon-dynamodb aws-lambda

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

在iOS 7推送通知中正确使用"内容可用"

我只是在寻找有关iOS 7思维过程和推送通知负载中"内容可用"键值的反馈.

场景:我强制关闭应用程序.根据Apple的说法,因为我已经这样做了,我将不再收到任何包含其有效负载中键值"content-available"的通知.这意味着警报根本没有显示,基本上没有任何反应.没有声音,没有警报信息,没有徽章增量.

理论:由于上述情况,您似乎想要发送两个推送通知.

  1. 只有您的"警报","徽章"和"声音"值的推送通知,以便用户看到与更新相关的通知,而不管应用程序状态如何.

  2. 仅包含"内容可用"键值的推送通知.如果应用程序处于可以接受此状态的状态,则会执行后台任务.在它不能接受的情况下,用户仍然从第一推送通知接收视觉/听觉通知.

问题:这是Apple打算如何执行静音/背景通知吗?我真的没有看到你可以实现的另一种方式.

apple-push-notifications ios ios7

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

参考Jenkins的Xcode版本号

我试图在我的Jenkins Build中引用我的Xcode项目CFBundleVersionString或CFBundleVersion.

我的目标是能够以这种方式设置构建号$ {CFBundleVersionString}.$ {build_number}.这样,版本由项目决定,并在构建项目时添加内部版本号.

这有可能吗?我知道你可以引用$ {build_number}.另外我知道我可以在构建中包含一个参数,但是我希望它们都可以通过Xcode项目进行管理,因为我们的构建是由github提交触发的.

xcode ios jenkins

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

iOS 9.1 BLE连接并立即断开连接

当我使用iPhone 6S在iOS 9.1上使用加密连接到BLE外围设备时,BLE外围设备立即断开连接.我已经确认这适用于iOS 8和9.02.我已经验证正在调用CBCentralManager的didConnect委托方法并且正在返回一个有效的CBPeripheral对象.

BLE外设立即断开.在断开连接之前,我甚至无法发现任何服务或特征.调用CBCentralManager didDisconnect方法,但不返回任何错误.

还有其他人看到这个吗?这已经正常工作了一年多,就像我说的那样只有在iPhone 6S上使用iOS 9.1时才会发生.9.1上没有任何其他外围设备可供测试.

UPDATE

根据Apple的说法,问题正在发生,因为我们没有将外围设备与iPhone绑定.所以我们更新了外围设备上的固件,现在正在粘接.这提出了围绕维持电话和外围设备之间的绑定对的不同问题.我们的外设具有有限的内存量,因此我们无法保持无限量的键引用.为了处理这种情况,外围设备允许存储最多8个BLE键.当它收到第九个请求时,第一个绑定将从绑定设备的外围设备列表中删除.这提出了一个问题,因为iPhone不知道这个绑定已被删除,当我尝试连接第一个设备并与特征交互时我没有提示配对.根据我的理解,这是启动加密过程的原因.

我想知道是否还有从绑定设备的iPhone列表中移除绑定/设备,然后进入蓝牙设置并"忘记"设备.

更新#2

Apple已确认,由于安全问题,无法从应用程序的蓝牙设置中的"我的设备"部分删除绑定的外围设备.

基于此,该场景现已转变为以下内容.iOS设备引用了曾经作为"我的设备"下的绑定外设的内容,但该外设不再引用其绑定设备表中的iOS设备.

当我尝试将仍然具有绑定参考的iOS设备连接到不再具有绑定参考的外围设备时,我们可以成功连接.但是,在我成功连接后,我发现了特性,将其设置为通知并且没有响应,也没有配对消息.解决此问题的唯一解决方案是进入"设置"和"忘记"设备,然后尝试重新连接.

还有其他人遇到过这个问题吗?建议?

谢谢!

objective-c core-bluetooth bluetooth-lowenergy ios9.1

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

Django“执行系统检查”运行速度非常慢

我突然遇到了我的 Django 应用程序的问题,它运行“执行系统检查”命令的速度非常慢。如果我启动服务器

python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

服务器实际启动需要一两分钟的时间。之后它工作正常,直到我进行更新,然后它重新启动服务器并再次执行“执行系统检查”过程,需要几分钟才能完成。

如果我跑

python -v manage.py check
Run Code Online (Sandbox Code Playgroud)

它进入这个进口

import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x11dce6748>
Run Code Online (Sandbox Code Playgroud)

然后它只是挂起一分钟左右,然后继续正常。

如果我跑

python -v manage.py runserver
Run Code Online (Sandbox Code Playgroud)

它运行导入列表,并在“执行系统检查”上运行一段时间,并最终继续启动服务器。

我正在运行 Django 2.1.1。使用“PYENV”来管理不同的 Python 版本并在虚拟环境中运行它。我在其他一些帖子中读到这与安装 MySQL 5.7 版有关,这是我最近做的事情,但我完成并卸载了它,就像我导致 HomeBrew 和删除其他引用一样。

我重新创建了我的虚拟环境。重新安装了 Python 3.6.0。我试过使用 Python 3.6.4。这些都没有帮助。

这是一个非常大的问题,因为我不能在每次更新之间等待几分钟。

python django

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

如何使用 Python 或 NodeJS 检测 EAN-13 +5 补充条形码

我正在尝试找到一种使用 Python 或 NodeJS 获取 UPC 加上 5 号补充条形码的方法。

到目前为止,我已经尝试通过此代码在 Python 中使用 pyzbar。

 img = Image.open(requests.get(url, stream=True).raw)
 img = ImageOps.grayscale(img)
 results = decode(img)
Run Code Online (Sandbox Code Playgroud)

这只返回主要的 UPC 代码。不是补充代码。

这是我试图从中读取的图像的示例。

在此输入图像描述

python barcode barcode-scanner node.js

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