Tag: cocoa touch

切换到iOS 5后无法播放系统声音

这是我如何在iOS 4中发挥嘟嘟声的效果: SystemSoundId beepOnSoundId; CFURLRef soundUrl = CFBundleCopyResourceURL( CFBundleGetMainBundle(), CFSTR("beep"), CFSTR("wav"), NULL ); // soundUrl logged: // file://localhost/var/mobile/Applications/ … beep.wav AudioServicesCreateSystemSoundID(soundUrl, &beepOnSoundId); // beepOnSoundId logged: 4097 AudioServicesPlaySystemSound(beepOnSoundId); 当我将设备升级到iOS 5时,它停止工作。 我什么也没听到。 我注销了所有的variables,没有零或0。 iOS 5中如何改变API,打破了我的声音播放代码? 更新 这个问题可能是因为我在播放声音的时候运行了AVCaptureSession 。 不知何故,iOS 5不会让你这样做了。 当我从相机录制某些东西时,我需要发出哔哔声。

是否有任何理由修改你的iOS应用程序中的main.m文件?

我试图更好地理解基本iOS应用程序中包含的每个文件的目的。 有没有任何理由修改main.m文件? 我想知道这个文件是否需要被触及。 如果你修改它,为什么?

在单个视图上的2个tableview

我需要一个例子或解释如何填充在同一个视图上的两个表视图。 我需要了解“cellForRowAtIndexPath”方法,有人可以提供一个例子,应该如何代码? 我的意思是如何识别哪个表视图? 谢谢 以下是我的cellForRowAtIndexPath方法: // Customize the appearance of table view cells. – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } // Configure the cell… // Set up the cell MyAppAppDelegate *appDelegate = […]

为什么是addSubview:不保留视图?

我添加了两个子视图,这些子视图通过属性存储在我的视图中。 将子视图添加到我的视图时,在我的setup方法被调用后,子视图似乎被解除分配。 最终的结果是,视图永远不会显示。 现在,如果我改变我的属性,而不是weak我保留一个参考的意见,他们现在显示在屏幕上。 那么这里发生了什么? 为什么是addSubview:和insertSubview:不保留子视图? 请参阅下面的代码: 顺便说一句,我使用ARC5的iOS5(因此强大和弱的东西) #import "NoteView.h" @interface NoteView() <UITextViewDelegate> @property (weak, nonatomic) HorizontalLineView *horizontalLineView; // custom subclass of UIView that all it does is draw horizontal lines @property (weak, nonatomic) UITextView *textView; @end @implementation NoteView @synthesize horizontalLineView = _horizontalLineView; @synthesize textView = _textView; #define LEFT_MARGIN 20 – (void)setup { // Create […]

编程iOS:关于根视图控制器的说明

通过这个问题,我想知道我是否理解Root View Controller的概念。 在iOS应用程序中,根视图控制器(RVC)是在启动时将其视图添加到UIWindow应用程序的控制器,是不是真的? [window addSubview:rvcController.View]; [window makeKeyAndVisible]; 现在,一个UIWindow也有一个rootViewController属性。 在运行前面的代码片段时,该属性是否被rvcController填充,还是必须显式设置? 然后,在UINavigationController中,可以设置与之前为入口点设置的RVC不同的RVC。 在这种情况下,我第一次添加一个控制器到navigationController堆栈(推上一个新的控制器),框架是否将该控制器设置为navigationController的RVC,还是必须通过initWithRootViewController方法显式设置它?

dispatch_sync总是在主线程上调度一个块

我正在使用dispatch_sync执行一个块,并且块被正确执行。 但是这个块在主线程上执行。 根据Apple Doc: 串行队列(也称为私有调度队列)按照将其添加到队列中的顺序一次执行一个任务。 当前正在执行的任务运行在由调度队列pipe理的不同线程上(可能因任务而异)。 这意味着(或我所理解的)当前正在执行的进程将在单独的线程上运行。 下面是我用来判断发生了什么的代码。 它在NSURLConnection的didReceiveData: delegate方法中被调用(我知道我不应该在didReceiveData:delegate方法内部这样做 – 但这只是一个关注dispatch_sync的示例)。 以下是我可以作为我的结论certificate的不同方式: 在全局并发队列上使用dispatch_sync dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ if ([NSThread isMainThread]) { NSLog(@"Main Thread"); } else NSLog(@"Not on Main Thread"); //Some Process }); 输出 – Main Thread Main Thread Main Thread // Main Thread printed till didReceiveData: gets called 在使用dispatch_queue_create的自创队列上使用dispatch_sync // Create queue somewhere else like […]

iAd应用程序需要多长时间才能开始生成展示次数?

周五我发布了一个iAd的应用程序。 到目前为止,它已经产生了零的展示与许多请求 – 填充率为零。 我的请求大部分在美国(〜90%),所以问题不在于iAd不支持的国家/地区)。 尽pipe请求数量较less,但较不受欢迎的较老的应用程序始终能够产生98%的填充率。 我只是想知道iAd应用程序是否正常,不能立即生成展示。 我应该期望在一段时间后最终得到印象,还是有什么问题?

自定义Push Segue删除故事板中的导航栏和标签栏

我在定义Segue中定义了以下内容,让我们把它称为SegueX: @interface SegueX : UIStoryboardSegue @end @implementation SegueX – (void)perform { CATransition* transition = [CATransition animation]; transition.duration = 0.3; transition.type = kCATransitionFade; [[self.sourceViewController navigationController].view.layer addAnimation:transition forKey:kCATransition]; [[self.sourceViewController navigationController] pushViewController:[self destinationViewController] animated:NO]; } @end 在我的故事板中,我刚刚将一个标准的Push segue改成了SegueX。 出于某种原因,这将删除我的导航栏和标签栏。 而且,在定制的segue之后,在故事板中定义的所有UIBarButtonItems都在运行时隐藏。 我该如何解决? 我希望它不是这样的… 在更改为自定义赛格之前 改成自定义赛格后 保存到Main.storyboard <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4514" systemVersion="13A603" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="aUj-3O-DdX"> […]

如何dynamic更改UIPopoverController的contentSize?

我有一个包含UITableView的UIViewController 。 这个UIViewController被显示在一个UIPopoverController 。 现在,事情是在tableView的项目数量不是常数,我想popoverContentSize的大小(即 – popoverContentSize ),根据tableView的项目数量进行调整 天真地,我想,如果我将所有的项目加载tableView后,我将设置contentSizeForViewInPopover在viewDidLoad – 它会做到这一点。 它没有。 所以,使其简短,我的问题是:我怎么能改变popoverContentSize直接从contentViewController – 提交后? 附录:

如何仅突出显示UILabel – IOS中的文本

我只想突出显示UILabel文本,我曾试着给backgroundColor作标签,但突出显示空格也看起来不太好。 所以有没有什么办法来突出显示文本,而不用调整UILabel大小。 请检查图像,这里的标签比文字大(中心alignment) 感谢名单。