小编neb*_*ebs的帖子

iOS 5:willRotateToInterfaceOrientation:首次加载控制器时未调用持续时间

我在我的代码中实现了这个方法,以了解何时会发生接口方向更改:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
Run Code Online (Sandbox Code Playgroud)

我依靠这个来设置我的观点.在iOS 4或5中,当方向改变时,它会被正确调用.

在iOS 4中,它也会在控制器首次加载时被调用(无论方向是否发生变化,它都会在开始时以正确的方向调用一次).

问题是我在iOS 5中注意到这种情况不再发生了.当方向改变时调用该方法,而不是在控制器最初加载时调用.这对我来说是个问题,因为我依靠它来根据方向设置初始视图放置.

任何想法为什么这种行为改变?处理这个问题的最佳方法是什么?如果在iOS 5上,我应该检查viewDidLoad中的方向,然后手动调用willRotate和didRotate方法吗?这感觉有点像黑客.

感谢您提供的任何输入.

orientation ios5

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

如何使用循环引用保存对象?

我想在本地保存一个具有循环引用的对象.我有什么选择?

我的第一个想法是使用HTML5本地存储,但由于循环引用,我无法对此对象进行字符串化.

具体来说,我正在尝试保存当前选择的DOMSelection对象.

例:

  var sel = window.getSelection();
  var selstring = JSON.stringify(sel); // Breaks here ...
  localStorage.setItem("selection",selstring);
Run Code Online (Sandbox Code Playgroud)

我现在可以让stringify工作的唯一方法是忽略某些对象,如下所示:

var selstring = JSON.stringify(sel,function(k,v){
    if( k=="anchorNode" ||
        k=="baseNode" ||
        k=="extentNode" ||
        k=="focusNode") return undefined;

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

但这给我留下了一个相当空的DOMSelection对象,这对我所需要的还不够.

有没有其他方法可以保存这个对象?唯一的要求是它在移动游猎中运行,其他任何东西都是真的.解决方案可以是javascript或jquery(或任何其他js lib,如果需要).

感谢您的任何帮助,您可以提供.

javascript serialization storage json circular-reference

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

Android:在ScrollView完成滚动和弹回后检测?

我有一个ScrollView,它有两个隐藏的图像,一个在顶部,一个在底部.在两者之间有一堆可见的内容.

我需要做的是默认隐藏这些图像,但是当你向上滚动或完全向下滚动时,你可以在滚动时看到它们.但是一旦你停止滚动它就应该反弹到可见区域,这样就不会显示隐藏的图像.

基本上我试图模仿iphone UIScrollView的反弹滚动功能.

我有我的ScrollView所有设置,我在开头滚动,以隐藏顶部隐藏的图像.现在我需要做的就是检测滚动何时结束,找出Y位置,并检查是否显示隐藏图像.如果是,我只是以编程方式向后滚动视图,以隐藏隐藏的图像.

我希望所有这些都是有道理的.

所以无论如何,我知道如何以编程方式滚动ScrollView.现在我需要的是某种回调告诉我什么时候ScrollView结束滚动,也是一种获取ScrollView当前'Y'位置的方法.我可以使用任何这样的方法吗?

我查看了ScrollView文档,但没有任何内容跳出来.我仍然不太熟悉Android命名方案,所以也许我错过了一些明显的东西.

无论如何,任何帮助将在这里受到赞赏.干杯.

android scrollview bounce

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

iOS:调整大小/裁剪录制的视频

调整用户在 iphone 上录制的视频大小的最佳方法是什么?

我目前可以通过两种方式获取视频数据:

1) 获取UIImagePickerController视频录制后的文件 URL

2)获取视频的帧,因为它是由一个发送的 AVCaptureSession

对于 1) 我需要一些可以读取 .mov h.264 文件并吐出单个帧的东西。有这样的事情吗?

对于 2)我想为每一帧获取一个 UIImage,调整图像大小,然后使用类似AVAssetWriter. 但这似乎是一个非常密集的操作,我想知道是否有更好的方法来解决这个问题。

调整视频大小以调整每个单独帧的大小然后重新编译视频的一般想法是什么?或者有没有办法直接调整整个视频的大小?

我基本上只需要用户录制视频,然后将该视频的大小调整为 320x320,无需花哨的编辑。

感谢您的任何帮助,您可以提供。

编辑: 也许“调整大小”是错误的词。我真的只需要裁剪视频,使其从 480x360 变为 320x320。此外,这种裁剪不需要实时发生,我可以在录制视频后进行。

iphone video resize avfoundation ios

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

iOS:没有断点的信号SIGTRAP?

我正在开发一个iPad应用程序,最近我做的一个改变是导致应用程序死于"信号SIGTRAP".堆栈跟踪没有帮助,我无法确定代码的哪个部分导致这种情况发生(但我知道它从哪个函数开始).

在没有详细介绍应用程序的情况下,我想知道是否有一些调试这种事情的常规技巧(SIGTRAP)?

我已经设法缩小了哪个函数调用导致这种情况发生.奇怪的是,如果我打破并进入函数,那么它工作正常.但是,如果我让它在没有断点的情况下运行,那么它就会崩溃.

该函数调用了许多其他涉及异步网络连接的东西.我把日志全部放在我的代码上,所有日志打印都很好,所以看起来"引擎盖下"导致了这个失败.我也在使用可能导致此问题的第三方框架?

这甚至是与代码相关的问题吗?我在某地读过SIGTRAP是一个调试器.

导致这种崩溃的原因是什么?我应该集中精力解决这个问题?

非常感谢您提供的任何帮助.

谢谢!

crash signals ios

6
推荐指数
0
解决办法
3032
查看次数

多次调用'发布'?

我正在查看其他人的代码并注意到他们在他们不拥有的NSString上调用了'release'(从未在任何地方调用alloc/retain/copy而且它不是属性).

这对我来说有点奇怪,如果你对一个你不"拥有"或者其引用数已经为0的对象调用'release',我会想知道是否会出现任何奇怪的行为?下面的代码编译/运行没有警告,所以我猜测没有问题,但我只是好奇.

// Releasing an object I don't own
NSString *notMyString = [NSString stringWithString:@"Not mine."];
[notMyString release]; // Ignored?

// Releasing an object I own, twice
NSString *myString = [[NSString alloc] initWithString:@"Mine."];
[myString release]; // Ref count = 0
[myString release]; // Ref count = ?
Run Code Online (Sandbox Code Playgroud)

memory-management objective-c

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

UIImagePickerController:从视频中获取图像

我正在尝试从视频中提取帧作为图像.使用UIImagePickerController记录视频.

录制视频后,我会获取其URL并使用AVURLAsset加载它.然后我创建一个AVAssetReader和AVAssetReaderTrackOutput来获取各个帧.

当我将帧作为CMSampleBufferRef获取时,我将它们传递给Apple的imageFromSampleBuffer方法,该方法应该返回一个UIImage.当我使用AVCaptureSession获取帧时,此方法工作正常,但当我使用通过UIImagePickerController录制的视频时,此行返回0x0:

CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer); 
Run Code Online (Sandbox Code Playgroud)

其中sampleBuffer是我传递的CMSampleBufferRed.

我通过调试器检查了sampleBuffer的值,看起来没问题(不是0x0).CMSampleBufferGetImageBuffer会返回0x0有什么原因吗?

或者是否有另一种方法从MOV文件中提取单个视频帧并将其保存为UIImage?

谢谢.

video frame avfoundation uiimagepickercontroller ios

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

闪存缩放质量

我有一个flash应用程序,我需要在其中缩放MovieClip.此MovieClip包含一个分辨率为1024x768的图像(在Loader中)(也就是MovieClip的大小).

当我想将此MovieClip缩放到80%时,我会:

myMovieClip.scaleX = 0.8;
myMovieClip.scaleY = 0.8;
Run Code Online (Sandbox Code Playgroud)

问题是生成的缩放图像具有锯齿并且质量不高.有没有办法改变用于获得更好图像的缩放算法?或者有更好的方法来扩展MovieClips吗?

我不能依赖位图数据,因为这个MovieClip可能包含另一个带有视频的SWF,并且无论其内部内容如何都必须进行缩放.

谢谢.

flash scaling actionscript-3

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

哈希的唯一值=唯一哈希?

从理论上讲,散列一个独特的值会产生一个独特的价值吗?

假设我有一个包含2列的数据库表:id和code.id是一个自动递增的int,代码是一个varchar.如果我做 ...

$code = sha1($id);
Run Code Online (Sandbox Code Playgroud)

...然后将$ code存储到与$ id相同的行中.我的代码列是否也是唯一的?

如果我追加当前时间呢?例如:

$code = sha1($id . time());
Run Code Online (Sandbox Code Playgroud)

谢谢.

php string random hash unique

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

iOS推送通知在dev中工作但不是prod

首先让我说我现在一直在寻找解决方案几个小时.我已经阅读了几乎所有关于此的SO问题,但没有一个解决方案有效.我还阅读了关于这个主题的官方苹果文档以及其他一些教程.基本上我是这样说的,以避免明显的建议(确保它不是"沙盒"等).

我在配置门户中为我的应用程序提供了dev和prod推送通知证书.我已经按照步骤使用苹果自己的文档创建了dev和prod的pem文件.

我有与此应用程序绑定的开发和临时分发配置文件.

我可以使用dev配置文件直接从xcode到设备构建我的应用程序,或者使用ad hoc分发配置文件将其存档(然后我使用beta builder安装到设备上).

无论我是使用dev配置文件直接构建还是使用ad hoc配置文件(通过beta构建器),推送通知在使用sandbox + dev pem文件时都能正常工作.但是一旦我使用prod服务器+ prod pem文件进行测试,就不会发送推送通知.

我有两个用于测试的php脚本,一个用于开发,一个用于prod.除了服务器url(sandbox vs not sandbox)和引用的pem文件(dev或prod)之外,它们基本相同.

我发现很奇怪,即使使用临时构建,我仍然可以使用沙箱和开发人员发送推送通知,这是正常的吗?

从开发到刺激我还有什么可以做的吗?我觉得我此刻已经尝试了一切.我已多次重新生成证书和配置文件.我遵循几乎完全相同的程序来生成开发和prod pem文件和我的PHP脚本和几乎相同(对于prod和dev).

我不知道这是服务器问题还是客户端(app)问题?我可能会遗忘某个地方吗?

我希望有人可以对此有所了解,因为它开始让我发疯!

干杯.

notifications push adhoc ios

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