我正在iPhone应用程序中使用NSAssert()调用,我从Apple文档中了解到,如果定义了NS_BLOCK_ASSERTIONS,则断言不会编译到代码中。 要closures声明,在头文件中我声明:#define NS_BLOCK_ASSERTIONS 但是,assert代码似乎仍然运行。 有什么我在这里失踪? 谢谢 约翰
我有一个UIView的图层将有子层。 我想为每个子层分配委托,所以委托方法可以告诉图层要绘制的内容。 我的问题是: CALayer的代表应该提供什么? 该文件说,不要使用图层所在的UIView,因为这是为视图的主要CALayer保留。 但是,创build另一个类只是作为我创build的CALayers的代表,这就违背了不inheritanceCALayer的目的。 人们通常使用什么作为CALayer的代表? 或者我应该只是子类? 另外,为什么实现委托方法的类不需要遵循某种CALayer协议? 这是一个更为广泛的问题,我不太明白。 我认为所有需要实现委托方法的类都需要一个协议规范,以便实现者遵守。
有什么办法可以判断一个uiview是否在animation的中间? 当我移动时,我打印出视图对象(注意有一个“animation”variables): search bar should end editing: <UISearchBar: 0x2e6240; frame = (0 0; 320 88); text = ''; autoresize = W+BM; animations = { position=<CABasicAnimation: 0x6a69c40>; bounds=<CABasicAnimation: 0x6a6d4d0>; }; layer = <CALayer: 0x2e6e00>> 当animation停止,我打印uiview(“animation”variables现在已经消失): search bar should end editing: <UISearchBar: 0x2e6240; frame = (0 0; 320 88); text = ''; autoresize = W+BM; layer = […]
我正在调整一个详细视图控制器的状态,就在它被推上一个navigationController : [self.detailViewController detailsForObject:someObject]; [self.navigationController pushViewController:self.detailViewController animated:YES]; 在DetailViewController的scrollView驻留。 我根据传递的对象调整了哪些内容: – (void)detailsForObject:(id)someObject { // set some textView's content here self.contentView.frame = <rect with new calculated size>; self.scrollView.contentSize = self.contentView.frame.size; self.scrollView.contentOffset = CGPointZero; } 现在,这一切工作,但scrollView在导航控制器的滑入animation中调整它的contentOffset 。 contentOffset将被设置为最后一个contentSize和新计算的之间的差异。 这意味着第二次打开detailsView时,细节会滚动到一些不需要的位置。 即使我明确地将contentOffset设置为CGPointZero 。 我发现在- viewWillAppear中重置contentOffset不起作用。 我能想到的最好的方法是重置viewDidAppear的contentOffset,从而引起内容的明显上下移动: – (void)viewDidAppear:(BOOL)animated { self.scrollView.contentOffset = CGPointZero; } 有没有一种方法来防止一个UIScrollView的contentSize更改时调整其contentOffset ?
我在我的应用程序中访问我的文件时遇到问题。 我目前正在使用 //Directly from TileMap example from WWDC2010 NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Tiles"]; 访问我的MKOverlay瓷砖。 这给了我这个目录 / Users / xxxx / Library / Application Support / iPhone Simulator / 4.2 / Applications / 9D62025C-C53B-472C-8309-xxxx / xxxx.app / Tiles x的只是出于隐私的原因 我在我的应用程序的根目录下有一个名为Tiles的文件夹,这个文件夹位于Xcode中的一个名为Tiles的组中,该组直接位于Resources组中。 当我运行我的应用程序,我得到一个简单的错误,说它无法在生成的目录(上面的一个引用)find我的瓷砖如果我replace这段代码,并使其: NSString *tileDirectory = @"/Users/xxxx/Documents/xxxx/Tiles"; 然后我的应用程序正常工作 这显然是因为它发现我的瓷砖在我的Mac上的直接位置。 这对testing来说很好,但我需要它在我的iPhone / iPad上工作。 这个问题可能是由于: 生成的目录不正确。 平铺图像没有包含在build立的.app文件中。 无论哪种方式,我不知道该怎么做来解决这个问题。 […]
根据苹果网站的iOS 4应该支持无线应用程序分发。 我一直无法find任何有关如何托pipe您的应用程序的文件,以供用户通过WiFi / 3G下载。 我们目前正在参加标准的iPhone开发计划,因为我们没有超过500名员工。 这是有限的function仅限于企业程序吗?
我需要查看我的网页在我的Windows桌面上的iPhone和iPad上的显示效果。 这可能吗? 快速search产生了一些iPhonetesting网站,这似乎是我想要的。 但是,当我比较自己的iPhone时,它们是非常不准确的! 我真的需要尽可能接近100%的准确度。 XCode有一个100%准确的模拟器吗? 我知道我需要一台Mac来运行XCode …
我怎样才能在iPhone应用程序中实现这个popup菜单,就像在iPad中的popup窗口? 编辑 :这是最好的时刻: https : //github.com/runway20/PopoverView
在视网膜上,我们用名字中的@ 2x来制作图像。 我看到默认图像的默认位置是568h @ 2x,但对于其他图像看起来并不是这样。 如果我的背景是bg.png和bg@2x.png,我尝试使用bg-568h@2x.png,但这不起作用。 有人可以告诉我图像需要命名以支持iPhone 5吗?
我使用AVAudioRecorder添加语音备忘录function,我需要知道录音机录制语音的最佳设置。 不幸的是,我对audio一无所知,甚至不知道谷歌有什么条件。 目前,我正在使用我从某处复制的以下内容进行testing: recorderSettingsDict=[[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithInt:kAudioFormatAppleIMA4],AVFormatIDKey, [NSNumber numberWithInt:44100.0],AVSampleRateKey, [NSNumber numberWithInt: 2],AVNumberOfChannelsKey, [NSNumber numberWithInt:16],AVLinearPCMBitDepthKey, [NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey, [NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey, nil]; 要么: defaultSettings = { AVFormatIDKey = 1768775988; AVLinearPCMBitDepthKey = 16; AVLinearPCMIsBigEndianKey = 0; AVLinearPCMIsFloatKey = 0; AVNumberOfChannelsKey = 2; AVSampleRateKey = 44100; }; 这个工作,但我不知道是否是最佳的语音质量,速度,文件大小等方面。 AVAudioRecorder类参考列出了许多设置常量,但我不知道哪些用于语音。 如果有人知道一个好的“AudioFormats for Dummy's”资源,我会采取这个方法。 (注意:我已经通过了苹果文档,他们承担了我不具备的数字audio知识基础。)