小编Chr*_*son的帖子

开源声音引擎

当我开始使用SoundEngine(来自CrashLanding和TouchFighter)时,我读过一些人建议不要使用它,因为据他们说,它不够稳定.它仍然是我所知道的唯一解决方案,即在不学习C++和OpenAL的情况下播放音高和位置控制的声音,所以我忽略了警告并继续使用它.

但现在我开始担心了.2.2 SDK引入了AVFoundation.使用来自CrashLanding的SoundEngine(用于声音)和AVAudioPlayer(用于音乐),我发现SoundEngine在释放唯一的现有AVAudioPlayer时表现得很奇怪(所有声音都会停止,直到启动新的AVAudioPlayer).大约在2.2 SDK发布的同时,CrashLanding示例代码被神秘地从ADC站点中删除.我担心会有更多不幸的事情发生.

我的问题是,是否有人知道SoundEngine的开源替代品?甚至可能是使用OpenAL的C++库?

c++ iphone openal core-audio

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

iPhone SDK:方向(横向和纵向视图)

好的,我有我的普通应用程序处于纵向模式.我可以强制我的应用程序转到横向模式的视图(使用navigationcontroller和viewcontroller),如下所示:

- (void)viewWillAppear:(BOOL)animated {
    [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];
}
Run Code Online (Sandbox Code Playgroud)

但是当我回到主菜单(tableview)时,它会直接回到肖像.我试试这段代码:

- (void)viewWillAppear:(BOOL)animated {
    [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用..

有任何想法吗?

cocoa-touch

9
推荐指数
2
解决办法
5万
查看次数

动画多个CALayers,但不在同一时间空间

我有几个CALayers我试图动画一个新的zPosition,每个层稍微延迟与其他层.

每个动画应该花费0.25秒并在上一个动画开始后0.05秒开始.在每个动画结束时,图层将从图层树中删除.

我已成功使用-animationDidStop:finished:委托方法删除我们的图层,但我无法正确订购动画.

是否可以以这种方式安排动画,以及如何安排?

core-animation

9
推荐指数
3
解决办法
7833
查看次数

如何等到位置完全找到?(核心位置)

我的应用程序中存在问题.我试图找到用户的位置以达到最佳精确度,以确定他们的邮政编码.目前我有一个按钮,按下后,启动一个名为的方法locateMe.

-(IBAction)locateMe; {
self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)

然后我实施了 didUpdateToLocation:

-(void)locationManager:(CLLocationManager *)manager 
       didUpdateToLocation:(CLLocation *)newLocation
       fromLocation:(CLLocation *)oldLocation; { 

       NSLog(@"Found location! %f,%f",newLocation.coordinate.latitude,newLocation.coordinate.longitude);
 }
Run Code Online (Sandbox Code Playgroud)

我之前做过更复杂的事情,didUpdateToLocation但是当我测试了一些东西时,我意识到它发现的第一个位置至少不准确.所以,我把NSLog电话放在那里,它给了我一个类似于下面的输出......

Found location! 39.594093,-98.614834
Found location! 39.601372,-98.592171
Found location! 39.601372,-98.592171
Found location! 39.611444,-98.538196
Found location! 39.611444,-98.538196
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它首先给了我一个不正确的值,这在我的应用程序中引起了问题,因为它没有给出正确的位置.

所以,这是我的问题.有什么办法我可以等待位置经理找到最准确的位置吗?

提前致谢!

编辑:我想要这样的东西:

if (newLocation.horizontalAccuracy <= locationManager.desiredAccuracy) {
}
Run Code Online (Sandbox Code Playgroud)

但它永远不会被召唤!

iphone cocoa-touch core-location

9
推荐指数
2
解决办法
4715
查看次数

有时不调用Accelerometer委托方法

我有一个使用加速度计的应用程序.有时,应用程序将在没有加速计数据更新的情况下启动.重新启动应用程序,有时问题仍然存在,有时它不会.甚至更奇怪,有时我可以尝试10次,一切都按预期工作.这是一个错误,或者可能是我遗漏的东西.调试时,加速度计未更新时,永远不会调用此代码:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

iphone cocoa-touch accelerometer

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

UIPickerView行颜色

有谁知道如何从iPhone SDK更改UIPickerView控件中行(或行背景)的颜色?类似下面的行标题,但我也想改变行的颜色:

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone cocoa-touch

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

可以在iPhone上使用NSUserDefaults保存整数数组吗?

是否可以在iPhone上使用NSUserDefaults保存整数数组?我在我的.h文件中声明了一个数组:int playfield[9][11]它从文件中填充整数并确定游戏场地的布局.我希望能够有几个保存位置,用户可以保存他们的游戏.如果我做:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject: playfield forKey: @"slot1Save"];
Run Code Online (Sandbox Code Playgroud)

我收到指针错误.如果可以保存整数数组,那么最好的方法是什么,然后再检索它?

提前致谢!

iphone cocoa-touch objective-c

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

如何将Key值对附加到iPhone上的UIView?

当我开始开发iPhone时,我在某处读到可以将一个键值对附加到UIView.我知道所有UIViews都可以用作字典来存储你可能想要附加到它们的任何数据,以防止不必要的子类化.但是,我到处搜索找到了参考资料,并试图自己实现这种行为是徒劳的.

我尝试过这样的事情:

UIView *myView = [[UIView alloc] init];
[myView setValue:@"hello" forKey:@"world"];
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我认为上面的代码所做的是尝试将值@"hello"分配给属性@"world" - 这不是我想要的.

我正在努力实现的目标是什么?

这里的任何帮助将不胜感激.

谢谢!

缺口.

cocoa-touch dictionary key-value-coding

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

如何以编程方式重置cocoa NSSearchField?

我有一个简单的cocoa用户界面,其中包含项目列表和搜索字段,分别使用NSTableView和NSSearchField实现.数据源和所有绑定都已设置好并且运行良好.我在列表中看到了我的数据,我可以通过在搜索字段中输入字符串来搜索它.当我输入更多文本时,列表中的项目数量会变得越来越小,最终会缩减为我正在搜索的项目.

现在,如何清除搜索字段中的文本并强制列表恢复正常?我可以通过手动清除文本(使用键盘)来实现这一点,但是当我尝试以编程方式执行此操作时,列表中的隐藏项目不会返回.

我正在使用这个:

[searchField setStringValue:@""];
Run Code Online (Sandbox Code Playgroud)

清除搜索字段中的文本,但不会重置列表.

有任何想法吗?是否有一个简单的[searchField reset]方法,我在文档中找不到?

cocoa

8
推荐指数
2
解决办法
2439
查看次数

UILabels用不同的字体底部对齐的方法是什么?

我在自定义UITableViewCell的contentView中有一个UILabel数组.通过排序来确定每个标签的字体大小以形成标签云.在设置单元格(行)的方法中,我遍历适合该行的单词对象,为每个UILabel设置框架,如下所示:

CGRect theFrame = CGRectMake(xPosAdjuster,
    theWordRow.rowHeight - thisWord.lblHeight,
    thisWord.lblWidth,
    thisWord.lblHeight);
UILabel *myLabel = [[UILabel alloc] initWithFrame:theFrame];
Run Code Online (Sandbox Code Playgroud)

这会使标签的帧对齐(请参见下图),但不幸的是,标签的填充是字体大小的函数.

替代文字

有没有办法删除UILabel上的填充(边框)和/或完全计算它,以便我可以相应地调整帧的y位置?

谢谢

iphone cocoa-touch uitableview uilabel

8
推荐指数
2
解决办法
4698
查看次数