我在制作教程的过程中,我正在试图模拟Path的教程的样式,如下所示: ../../../wp-content/uploads/2013/06/UIPageViewController-Tutorial-Screen.jpg 我的问题是,如果设置委托方法如此: – (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController { // The number of items reflected in the page indicator. return 5; } 然后,我得到这个黑点下的这个愚蠢的黑吧: http://i.stack.imgur.com/pUEdh.png 有没有办法使这个酒吧半透明的方式类似于设置UINavigationBar半透明?
通常情况下,一个UISearchDisplayController被激活后,会调暗tableView并关注searchBar。 只要在searchBar中input文本,它就会在searchBar和键盘之间创build一个searchResultsTableView。 当第二个UITableView被加载/显示/隐藏/卸载时,searchDisplayController的委托被调用。 通常它会在打字时显示实时search结果或自动完成条目。 在我的应用程序中,我想search一个web服务,我不想为用户input的每个字母调用web服务。 因此,我想完全禁用searchResultsTableView,并在input文本时保留变暗的黑色叠加层。 一旦他点击searchbutton,我会触发search(加载屏幕)。 只是返回零行searchResultsTableView看起来不太好,因为它显示一个空的searchResultsTableView与“没有结果”消息。 我试图隐藏表( searchDisplayController:didLoadSearchResultsTableView:哪些工作,但黑色暗灰色叠加也隐藏,使底层tableView是完全可见的。 任何想法,除了重新创buildUISearchDisplayControllerfunction?
我的代码需要保证在主线程上运行某个操作,但是调用可能来自后台线程。 要在后台检测情况,我正在使用以下内容: – (void)selectorToRunInMainThread:(id)arguments { // push to main thread if ([NSRunLoop currentRunLoop] != [NSRunLoop mainRunLoop]) { [self performSelectorOnMainThread:@selector(selectorToRunInMainThread:) withObject:arguments waitUntilDone:NO]; return; } /* … function content … */ } 这适用于iOS 4和iOS 3.2,但不适用于iOS 3.1.3和更早版本。 在这些早期的版本中,这个函数将会不停地被调用。 将比较改为: if (![[NSRunLoop currentRunLoop] isEqualTo:[NSRunLoop mainRunLoop]]) 没有任何作用,他们仍然没有比较相同的价值。 我发现一个似乎正在工作的解决scheme,但我想看看其他人首先提出的build议。
我曾多次看到这个问题,但令人震惊的是,我还没有看到一致的答案,所以我会自己试一下: 如果你有一个tableview包含你自己的自定义的UITableViewCells包含UITextViews和UILabels的高度必须在运行时确定,你应该如何确定heightForRowAtIndexPath中的每一行的高度? 最明显的第一个想法是通过计算cellForRowAtIndexPath内的单元格内的每个视图的高度,然后计算每个单元格的高度,并存储最后的总高度以供稍后检索。 这将无法正常工作,因为cellForRowAtIndexPath被称为AFTER heightForRowAtIndexPath。 我唯一能想到的就是在viewDidLoad中完成所有的计算,然后创build所有的UITableViewCells,计算单元格的高度并将其存储在UITableViewCell子类中的自定义字段中,并将每个单元放在一个NSMutableDictionary中,其索引为然后使用cellForRowAtIndexPath和heightForRowAtIndexPath中的indexPath从单词中检索单元格,返回自定义高度值或单元格对象本身。 这种方法似乎是错误的,因为它没有使用dequeueReusableCellWithIdentifier,而是我将一次加载到我的控制器中的字典中的所有单元格,委托方法将只是从字典中检索正确的单元格。 我没有看到任何其他的方式来做到这一点。 这是一个坏主意 – 如果是这样,那么做到这一点的正确方法是什么?
升级到最新的Cordova版本( 3.6.3 )后,运行cordova build ios命令时出现此错误。 错误: /Volumes/local.uhmuhm.net/projectxxx/htdocs/phonegap/src/Projectxxx/platforms/ios/Projectxxx/Classes/MainViewController.m:154:19: error: no visible @interface for 'CDVCommandDelegateImpl' declares the selector 'execute:' return [super execute:command]; 其他信息: 安装平台:android 3.6.3, ios 3.6.3 我在最后一个xcode版本(6.0.1) 一切都开始升级cordova3.6.3(我之前运行3.4.1) 任何想法如何解决这个问题?
我遇到了一个我以前没遇到过的奇怪的问题。 当你做cmd + U来运行你的unit testing(例如OCUnit),它实际上调用main.m,新的appDelegate和运行应用程序,就好像你已经按下CMD + R? 我只问,因为我在这个DataLayer背后使用CoreData。 我在我的testing中嘲笑DataLayer成功,但是一旦我实现了一个实际调用CoreData的getAll方法,app / xcode抛出一个关于被pipe对象模型的exception不能为零。 我明白,但我没有意义,实际上新的DataLayer类,我已经在我的mainviewcontroller loadView方法中调用DataLayer的getAll方法放置一个断点。 testing无关紧要,因为这是一个模拟对象,但显然它是调用真实的实例。 所以回到我的问题,当按下cmd + U它也运行应用程序,然后运行testing?
可执行文件被签署了无效的权利。 您的应用程序的代码签名授权文件中指定的权利不符合您的供应configuration文件中指定的权利(0xE8008016)。 我得到这个错误。 请帮帮我。 我创build了configuration文件并更改了包ID。 我已经从Target-> Capabilities启用了钥匙串共享并生成新的.entitlement文件。 我也改变了在这个包ID。
我一直在iOS应用程序工作了一段时间,突然之间,我每次在iOS 5.1模拟器中运行应用程序时都会遇到以下崩溃。 该应用程序不使用核心数据,我不知道是什么带来了这一点。 我已经从模拟器删除了应用程序,完成了清洁,并重build,但似乎没有任何帮助。 Unable to load persistent store at URL 'file://localhost/Users/jcottrell/Library/Application%20Support/iPhone%20Simulator/5.1/Library/Keyboard/UserDictionary.sqlite' ({ metadata = { NSPersistenceFrameworkVersion = 407; NSStoreModelVersionHashes = { UserDictionaryEntry = <f0c9025b 602122f9 37a4e274 bdaacec1 b9a66f83 fca5c43b bed5e80a 6baee338>; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( "" ); NSStoreType = SQLite; NSStoreUUID = "43DABF34-7F7E-4FE9-B78D-8AF64292A967"; "_NSAutoVacuumLevel" = 2; }; reason = "The model […]
有没有一种有效的方式来添加一个对象来启动一个NSMutableArray ? 我正在寻找一个很好的双目结束队列在objective C也将工作。
是否有可能,如果我有一个NSString,我想使用NSJSONSerialization? 我该怎么做呢?