我有一个应用程序,我想在某些视图中支持设备旋转,但其他在横向模式下没有特别有意义,所以当我交换视图时,我想强制旋转设置为纵向.
在UIDevice上有一个未记录的属性设置器可以完成这个技巧,但显然会产生编译器警告,并且可能会随着SDK的未来版本而消失.
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
Run Code Online (Sandbox Code Playgroud)
是否有任何记录的方法来强制定位?
更新:我想我会提供一个例子,因为我没有找到shouldAutorotateToInterfaceOrientation,因为我已经实现了它.
我希望我的应用程序支持View 1中的横向和纵向,但只支持View 2中的纵向.我已经为所有视图实现了shouldAutorotateToInterfaceOrientation但是如果用户在View 1中处于横向模式然后切换到View 2,我想强制执行手机旋转回肖像.
我在CrashLanding示例中使用Apple的SoundEngine示例代码来播放多个音频文件.使用CrashLanding附带的示例caf文件一切正常但是当我尝试使用我自己的样本使用afconvert转换为CAF时,我得到的是一个沉默的石头;)
有没有人有afconvert设置会生成一个能够通过OpenAL播放的CAF文件?
在NSRunLoop的Apple文档中,有一些示例代码演示了在等待标志由其他东西设置时暂停执行.
BOOL shouldKeepRunning = YES; // global
NSRunLoop *theRL = [NSRunLoop currentRunLoop];
while (shouldKeepRunning && [theRL runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]);
Run Code Online (Sandbox Code Playgroud)
我一直在使用它并且它有效,但在调查性能问题时,我将其跟踪到这段代码.我使用几乎完全相同的代码片段(只是标志的名称是不同的:)如果我NSLog在设置标志后(在另一种方法中)放置一行,然后在while()看似随机的后面的一行在几秒钟的两个日志语句之间等待.
在较慢或较快的机器上,延迟似乎没有差别,但在运行之间的延迟至少在几秒到10秒之间不同.
我使用以下代码解决了这个问题,但原始代码不起作用似乎不对.
NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1];
while (webViewIsLoading && [[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate:loopUntil])
loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1];
Run Code Online (Sandbox Code Playgroud)
使用此代码时,设置标志时和while循环后的日志语句现在始终小于0.1秒.
任何想法为什么原始代码表现出这种行为?
使用Xcode 4和iOS 6 SDK以便使用QuartzCore.framework中的类,您必须链接QuartzCore.framework和#import <QuartzCore/QuartzCore.h>.这很好,这是有道理的.我很满意我对世界的看法:)
在带有iOS 7 SDK的Xcode 5中,QuartzCore标题似乎是自动导入的.使用CA类不会引发警告或链接器错误.
我的问题是:
鉴于这些标头显然是从某个地方导入并且链接了库,我如何跟踪导入源和链接框架?这更多只是为了我的好奇心,更多地了解这个过程,而不是解决一个特定的问题.
附加信息:
Enable Modules (C and Objective-C)并且Link Frameworks Automatically两者都是"否"似乎不需要#import of QuartzCore来编译.otool 在其输出中没有显示QuartzCore框架:
$ otool -L Test
Test:
/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 2903.2.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1047.20.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/usr/lib/libSystem.dylib (compatibility version 1.0.0, current version 111.0.0)
Run Code Online (Sandbox Code Playgroud)用部分解决方案编辑
<QuartzCore/QuartzCore.h>iOS …所以我的问题是,如果我能以某种方式将数据发送到我的程序,然后将相同的数据及其结果发送到另一个程序,而无需创建临时文件(在我的情况下是ouputdata.txt).最好使用linux管道/ bash.
我目前正在做以下事情:
cat inputdata.txt | ./MyProg> outputdata.txt
cat inputdata.txt outputdata.txt | ./MyProg2
我想修改动画持续时间并附加一个回调,当动画完成时调用scrollToRowAtIndexPath并设置动画:YES但我无法找到动画代理的句柄或任何其他方法.
任何人都知道这是否可行?
我试图将几个音频文件连接到一个包含章节元数据的mp4/m4a文件中.
我目前正在使用QTKit执行此操作但不幸的是,当QTKit导出到m4a格式时,元数据全部被删除(这已被Apple确认为错误)请参阅示例代码.我认为这可以为这项工作规定QTKit,但很高兴被证明是错误的,因为它是一个非常巧妙的API,如果它工作.
所以,我正在寻找一种方法来连接音频文件(输入格式并不重要,因为我可以转换)到具有章节元数据的m4a文件.
作为代码的替代方案,我愿意使用现有的命令行工具来完成此任务,只要它可以作为另一个应用程序的一部分进行再发布.
有任何想法吗?
objective-c ×5
iphone ×3
cocoa ×2
cocoa-touch ×2
macos ×2
.net ×1
afconvert ×1
audio ×1
bash ×1
core-audio ×1
fonts ×1
ios ×1
linker ×1
module ×1
openal ×1
pipe ×1
quicktime ×1
uitableview ×1
windows ×1
xcode ×1