Tag: iphone

获取当前页面

在我的滚动视图中,我想获取正在显示的当前页面(也许页面不是正确的术语)。 我找不到任何variables,持有这个。 但我认为它必须在某个地方,因为指标能够显示当前正在显示的滚动视图的哪个子视图。 这是完全隐藏的,还是有我的方式访问它?

禁用滚动UIWebView允许?

我必须在文章下面展示一个带有UITableView的Web文章。 我发现的唯一select是在tableView标题的UIWebView中显示文章。 为了做到这一点,我必须得到的webView内容的高度,我必须禁用滚动的webView。 我发现两个解决scheme禁用滚动: for (id subview in webView.subviews) if ([[subview class] isSubclassOfClass: [UIScrollView class]]) ((UIScrollView *)subview).scrollEnabled=NO; 或在JavaScript中: <script type="text/javascript"> touchMove = function(event) { event.preventDefault(); } 我听说第一个解决scheme是苹果禁止的,但是我没有任何证据。 我的申请将被拒绝使用这种解决scheme? 如果是这样,我可以使用第二个解决scheme而不被拒绝?

如何居中UIView的子视图

我有一个UIView里面的UIView米,我想内部的UIView总是在外面的一个中心,而不必调整的宽度和高度。 我已经设置了支柱和弹簧,使其位于顶部/左侧/右侧/底部,而不设置resize。 但它仍然不居中。 任何想法?

如何asynchronous同步CoreData和REST Web服务,同时正确地将任何REST错误传播到UI中

嘿,我在这里为我们的应用程序的模型层工作。 一些要求是这样的: 它应该在iPhone OS 3.0+上工作。 我们的数据来源是一个RESTful Rails应用程序。 我们应该使用Core Data在本地caching数据。 客户端代码(我们的UI控制器)应该尽可能less地了解networking内容,并且应该使用Core Data API查询/更新模型。 我已经检查了构build服务器驱动用户体验的WWDC10会议117 ,花了一些时间检查Objective Resource , Core Resource和RestfulCoreData框架。 目标资源框架本身不与Core Data交谈,仅仅是一个REST客户端实现。 Core Resource和RestfulCoreData都假设你在代码中和Core Data交谈,他们解决了模型层背景中的所有细节。 所有目前看起来都不错,最初我通过核心资源或RestfulCoreData将覆盖所有上述要求,但是…有几件事似乎并没有正确解决: 在保存本地更新到服务器时,主线程不应该被阻塞。 如果保存操作失败,则错误应该传播到UI,并且不应该将更改保存到本地Core Data存储。 核心资源碰巧发出所有的请求到服务器,当您调用- (BOOL)save:(NSError **)error您的托pipe对象上下文,因此能够提供一个正确的NSError实例的底层请求到服务器失败不知何故。 但它会阻止调用线程,直到保存操作结束。 失败。 RestfulCoreData保持你的 – 保存-save:调用保持不变,并且不会为客户端线程引入额外的等待时间。 它只是注意NSManagedObjectContextDidSaveNotification然后发出相应的请求到通知处理程序中的服务器。 但是这样, -save:调用总是成功完成(当然,如果Core Data与已保存的更改一致,并且实际调用它的客户端代码无法知道保存可能无法传播到服务器,因为有些404或421或任何服务器端发生错误。 而且,本地存储变得更新了数据,但是服务器从来不知道这些变化。 失败。 所以,我正在寻找解决所有这些问题的可能的解决scheme/常见做法: 当networking请求发生时,我不希望调用线程在每个-save: call上阻塞。 我想以某种方式获取通知在用户界面中,一些同步操作出错。 如果服务器请求失败,我希望实际的Core Data保存失败。 有任何想法吗?

iTunes中的“版本号”与xcode中的“捆绑版本”,“捆绑版本string”有什么区别?

苹果的文档可能会更清楚如何提交更新版本。 正如标题所述,有什么区别 iTunes中的版本号连接(在提交更新时必须提供) 在Xcode捆绑版本 捆绑版本string,简称 他们有任何关系吗?

我怎么能从一个UINavigationControllerpopup一个视图,并用另一个操作中的另一个replace它?

我有一个应用程序,我需要从UINavigationController的堆栈中删除一个视图,并将其replace为另一个视图。 情况是,第一个视图创build一个可编辑的项目,然后用该项目的编辑器replace自己。 当我在第一个视图中做出明显的解决scheme时: MyEditViewController *mevc = [[MYEditViewController alloc] initWithGizmo: gizmo]; [self retain]; [self.navigationController popViewControllerAnimated: NO]; [self.navigationController pushViewController: mevc animated: YES]; [self release]; 我感到非常奇怪的行为。 通常会出现编辑器视图,但是如果我尝试使用导航栏上的后退button,我会得到额外的屏幕,一些空白,有些只是搞砸了。 标题也变得随机。 这就像导航堆栈是完全水封的。 什么会是更好的方法来解决这个问题? 谢谢,Matt

引用AppDelegate实例variables

我有一个基于导航的应用程序模板的项目。 在AppDelegate中有方法-applicationDidFinishLoading:和-applicationWillTerminate: 在这些方法中,我正在加载和保存应用程序数据,并将其存储在实例variables(实际上是一个对象图)中。 当应用程序加载时,它加载MainWindow.xib,它有一个NavigationConroller,它又有一个RootViewController。 RootViewController nibName属性指向RootView(我的实际控制器类)。 在我的课上,我想引用我在-applicationDidFinishLoading:方法中创build的对象,以便我可以获得对它的引用。 谁能告诉我该怎么做? 我知道如何在编程创build的对象之间引用,但由于中间步骤是在NIB文件中完成的,因此我似乎无法find回头的路线。

iPhone系统字体

iPhone上的默认系统字体的名称是什么? 我想检索这个自定义UIView 。

删除特定的本地通知

我正在开发基于本地通知的iPhone闹钟应用程序。 在删除闹钟时,相关的本地通知应该被取消。 但是,我怎样才能确定本地通知数组中的哪个对象将被取消? 我知道[[UIApplication sharedApplication] cancelLocalNotification:notification]方法,但我怎样才能得到这个'通知'来取消它?

Cordova:启动特定的iOS模拟器图像

我正在开发一个使用Cordova的跨平台移动应用程序,主要侧重于iOS开发阶段。 对于我的开发过程,如果我可以直接从命令行启动我的Cordova应用程序并将其加载到指定的模拟器中,那将是理想的。 我可以通过从项目根目录运行以下内容来完成此操作: $cordova run –debug –emulator iOS 这工作正常,并导致iOS模拟器运行我的应用程序在iOS 7.0.3模拟iPhone 4视网膜 除了这个模拟设备,我还想testing一个iPad。 我安装了这些模拟图像,并且可以在Xcode中手动启动我的应用程序。 而且,命令list-emulator-images (位于project_dir/platforms/ios/cordova/lib )中提供了以下输出: "iPhone Retina (3.5-inch)" "iPhone Retina (4-inch)" "iPhone Retina (4-inch 64-bit)" "iPhone" "iPad" "iPad Retina" 然而,事情是:我似乎无法弄清楚如何启动仿真器以外的其他任何东西(这似乎是iPhone Retina (4-inch)模拟图像)。 cordova help的相关输出提供了以下信息: run [–debug|–release] [–device|–emulator|–target=FOO] [PLATFORM] ………………………. deploys app on specified platform devices / emulators 我尝试了如下的东西: cordova run –debug –emulator=iPad iOS 和其中的许多变化,但没有运气。 […]