如何制作以编程方式使用 UISplitViewController 和 UINavigationController 的通用 iPhone / iPad 应用程序?

2024-01-02

我在任何地方都找不到一个好的答案。我正在为我的 iPhone 应用程序使用 UINavigationController,所有内容都是以编程方式生成的,界面生成器中没有任何内容。我正在尝试使用 UISplitViewController 和现有的 UINavigationController 将我的应用程序移植到 iPad,但我不确定我的程序逻辑应该在哪里分离 iPhone 或 iPad 的视图控制器。

我是否将主文件设置为使用不同的应用程序委托,或者是否使用相同的应用程序委托并在其中有条件地设置用户界面?

除此之外,每当我尝试在模拟器上编译我的应用程序时,它都无法识别 UISplitViewController ,甚至无法识别我检查类是否存在的条件。

请有人帮我指明正确的方向,记住我没有使用任何 xibs?


如果您想查看使用分割视图的完全编程化 iPhone / iPad 界面的示例,您可以下载我的应用程序的源代码分子 http://www.sunsetlakesoftware.com/molecules.

在该应用程序中,我使用一个应用程序委托,但根据存在的用户界面习惯(iPad 或 iPhone),我以不同的方式设置界面。对于 iPhone,我实例化了一个根视图控制器,用于管理该设备的相应接口。对于 iPad,我首先创建一个 UISplitViewController 并将其附加到根窗口,然后创建 iPad 特定的根视图控制器并将其放置为分割视图控制器的详细视图(使用我用于项目选择的导航控制器作为分割视图的左侧控制器)。

再次,我建议查看该应用程序项目,了解如何以编程方式进行设置。该代码在 BSD 许可证下可用,因此您可以根据需要将其复制并粘贴到您自己的应用程序中。

至于您遇到的编译错误,您需要使用“升级 iPad 的当前目标”菜单选项将应用程序目标迁移为通用应用程序。完成后,将构建 SDK 设置为 3.2。转到应用程序的构建设置,并将其部署目标设置为您希望应用程序支持的最早的操作系统(3.0 是您可以选择的最远版本)。

最后,您需要弱链接 UIKit。具体如何操作,请参阅我的回答here https://stackoverflow.com/questions/2618889/universal-iphone-ipad-application-debug-compilation-error-for-iphone-testing/2622027#2622027. 如果您使用 iOS 4.2 或更高版本的 SDK 进行构建,则不再需要框架的弱链接。只需在运行时检查适当的类是否存在,方法是查看它们是否存在+class方法返回nil.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作以编程方式使用 UISplitViewController 和 UINavigationController 的通用 iPhone / iPad 应用程序? 的相关文章

  • 在 UIImage 顶部绘制透明圆圈 - iPhone SDK

    我在尝试找出如何在 UIImageView 中的 UIImage 顶部绘制透明圆圈时遇到了很多麻烦 谷歌给了我线索 但我仍然找不到有效的例子 有没有人知道的例子可以证明这一点 最简单的方法就是创建一个半透明的方形 UIView 然后将其图层
  • 拖动时获取MKAnnotation的坐标

    我正在根据用户添加的注释的位置创建一条路径 MKPolyline 我想允许用户通过拖动引脚来更改路径 我目前可以做到这一点 但 MKPolyline 不会更新 直到引脚被放下 我实施了 void mapView MKMapView mapV
  • 为什么 iPhone 上的纹理图像需要具有二维幂?

    我正在尝试解决 iPhone 上的闪烁问题 open gl es game 我有一些没有 2 维的图像 我将用具有适当尺寸的图像替换它们 但为什么尺寸需要是 2 的幂 大多数系统 甚至许多现代显卡 需要 2 的幂纹理的原因是 mipmap
  • CGImage/UIImage 在 UI 线程上延迟加载会导致卡顿

    我的程序显示一个水平滚动表面 从左到右平铺有 UIImageViews 代码在 UI 线程上运行 以确保新可见的 UIImageView 分配有新加载的 UIImage 加载发生在后台线程上 一切工作几乎都很好 除了每个图像变得可见时出现口
  • 如何测试 UITextField 是否为零?

    我正在尝试制作我的应用程序的一部分 如果该人不更改我的 UITextField 中的空白文本 那么他 她将无法继续下一步 基本上 我想测试 UITextField 的 nil 文本 我已经使用了 if text 方法 但是如果用户单击 UI
  • 我如何获取用户的电子邮件? iPhone SDK

    我需要获取 Mail app 中使用的用户的电子邮件地址 如何使用 iPhone SDK 做到这一点 谢谢你 简短的回答 你不能 如果需要 您应该提示用户输入电子邮件地址
  • 在不同的捆绑包上测试 iPhone 应用内购买?

    我们有一组 iPhone 应用程序的 Beta 测试人员 最近 我们在应用程序中添加了应用内购买功能 在此之前 我们会使用单独的捆绑 ID 和名称向 Beta 测试人员发送临时版本 以便他们可以在手机上拥有商店版本和临时版本 然而 似乎我们
  • iPad - 无法在框架内滚动

    我无法滚动 iPad Safari 中框架内调用的 pdf 我已经尝试过两件事 2 指滚动 使用对象 嵌入代替框架 但这是行不通的 事实上我已经尝试了很多东西 溢出 高度等等 请帮我 先感谢您 根据这篇文章http support appl
  • iphone:在 UIWebView 之上查看?

    我正在开发一个浏览器应用程序 并且 UIWebView 顶部有一个地址栏 在 MobileSafari 上 如果向下滚动 地址栏开始移动到顶部 移出屏幕 并且 UIWebView 不会滚动 只有当地址栏完全消失时 它才开始滚动 我也想在我的
  • 防止UIScrollView的UIPanGestureRecognizer遮挡UIScreenEdgePanGestureRecognizer

    我有一个UIScrollView它填满了我应用程序的一页上的屏幕 但我希望允许用户从屏幕边缘平移以显示其后面的视图 问题是 UIScrollView 窃取了我的触摸UIScreenEdgePanGestureRecognizer在屏幕边缘
  • 如何适配iPhone 4屏幕分辨率?

    根据Apple http www apple com iphone specs html iPhone 4 拥有新的 更好的屏幕分辨率 3 5 英寸 对角线 宽屏多点触控显示屏960 x 640 像素分辨率 326 ppi 这个小细节对我们
  • iPhone 崩溃日志?

    我已经配置了一部 iPhone 并让用户安装了该应用程序 它失败 是否有崩溃日志可以让我看到 iPhone 上失败的原因 Ian 如果您可以使用 xcode 将 iPhone 连接到计算机 则在管理器窗口中它会显示每个应用程序崩溃的崩溃日志
  • UIDatePickerModeCountDownTimer模式中的UIDatePicker:如何更改为分钟和秒模式?

    我在故事板中添加了 UIDatePicker 并将模式设置为 CountDownTimer 它只显示小时和分钟 但我需要的是分钟和秒模式 我不需要小时列 需要分钟和秒列 我尝试更改间隔 但最小值是 1 分钟 是否可以 我怎样才能做到这一点
  • UISplitViewController - 推送模态视图

    使用 UISplitViewController 时推送模态视图的最佳实践是什么 您会从 RootViewController DetailViewController 还是直接从应用程序委托推送 理想情况下 我想要实现的功能是在基于某些条
  • Objective Flickr 照片上传错误

    我正在使用 ObjectiveFlickr 库将照片从我的 iPhone 应用程序上传到 Flickr 我可以授权该应用程序并执行一般请求 但在尝试上传照片时遇到错误 要上传的照片是使用 AVFoundation 捕获的图像 这是相关代码
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • Xcode 3.1.4 中内置分析器

    我想知道 Xcode 3 1 4 中内置的分析器是否使得单独使用 LLVM Clang 静态分析器变得多余 请参考这里的原文 使用 LLVM Clang 静态分析器查找内存泄漏 http www fruitstandsoftware com
  • iPhone - 如何在矩形中间绘制文本

    有没有一种方法可以在矩形中间绘制文本 我可以找到各种对齐方式 但我尝试过的任何方法都不能将文本垂直居中在矩形中 有没有一种简单的方法可以做到这一点 或者有什么方法可以将矩形居中然后在其中绘制 我直接绘制到 CGContext 尝试使用 NS
  • 将 iPhone 上的 stderr 写入文件和控制台

    我正在遵循答案中的建议here https stackoverflow com questions 5179108 iphone how to read application logs from device用于将 iOS 设备上的 NS
  • UINavigationController 在 UITabBarController 的 moreNavigationController 中不起作用

    我正在处理UINavigationControllers在我的应用程序中 全部由UITabBarController 一切工作正常 直到我的控制器落入自动生成的 更多 选项卡 我在简单的示例中重现了该问题 难道我做错了什么 我想不通 感谢您

随机推荐

  • 如何在android中读取xmpp消息标签的自定义属性?

    我需要接收的 xml 是
  • 在 Swift 中计算预计到达时间

    我试图快速计算两个位置之间的估计旅行时间 步行 用户进行注释 这是我当前的代码 它不会引发任何导致程序崩溃的错误 而只会返回 请求 ETA 时出错 import UIKit import MapKit class LocationObjec
  • 解析php中的URL

    在 php 中 如果我想解析一个 URL 例如 www site com index php foo bar 我可以使用 POST 变量 我可以找回bar by POST foo 但如果我的网址是这样的怎么办www site com ind
  • 如何生成 rdoc 风格的可折叠代码段?

    我正在使用 Doxygen 为 C 项目创建内部文档 我让 Doxygen 包含方法的源代码等 但这使得页面难以扫描 我希望它的行为像 rdoc 一样 并将源代码隐藏在默认折叠的块中 我以为HTML DYNAMIC SECTIONS可能会让
  • 有没有办法从重载的 TS 方法中提取所有函数签名?

    基本上我只是想包装一个具有多个签名的函数 有没有什么干净的方法可以做到这一点 而无需重新硬编码所有签名 我只是想bar下面接受任何相同的参数foo declare function foo x string number declare f
  • 如何调试 AngularJS 中的“10 $digest iterations returned”错误?

    正常情况下 该消息Watchers fired in the last 5 iterations 可能包含有用的提示 但正如您所看到的 它是空的 类似问题的大多数其他答案都会告诉您寻找一种为每次调用返回一个新对象的方法 但这在大型应用程序中
  • Windbg:命令输出到文本文件

    如何将 WinDbg 中命令的输出保存到文本文件 使用 logo 选项从命令行启动 WinDbg windbg exe logo logfile txt 这将使所有完成的事情记录到指定的文件中 您可以找到命令行选项的更多详细信息here h
  • Emacs 正则表达式中字符串的开头和结尾

    表示开头和结尾的字符是什么string其中有换行符吗 我正在编写一个修剪函数 defun trim str if string match space space str match string 1 str str 但是使用像 first
  • Angular 5:如何在子组件中获取父组件路由参数?

    Here is add new folder component 该组件是以下组件的子组件folder component当我路由add new folder component from folder component那个时候我想要fo
  • 生成随机密钥 firestore

    我正在运行一个火存储数据库 我想创建一个随机密钥与 firestore 相同的模式 在链接中 我找到了创建文档后调用的函数 with db ref add 在客户端生成密钥 https github com firebase firebas
  • matplotlib 带 alpha 的圆形补丁会产生边缘和面颜色的重叠

    一般来说 我对 matplotlib 和 python 相当陌生 我想做的事情相当基本 然而 即使经过相当长的谷歌搜索时间 我也找不到解决方案 问题是这样的 我想画一个边框和脸部颜色不同的圆圈 即设置edgecolor and faceco
  • 如何使用 numpy 获取所有可能的随机组合

    我有一个长度为 NumPy 的数组N含有X那些和N X零 我想生成数组的所有可能的随机组合 例如 当N是 5 并且X是2 我需要以下组合 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0
  • 从服务器打开文件并发送到浏览器

    在我的 asp net 应用程序中 我创建 pdf 文件并将其保存在服务器上的 App Data 文件夹中 接下来我想打开这个文件以便用户可以打印它 如何在浏览器中打开该文件 在http header 等中发送 有人有一些例子吗 请帮忙 您
  • php中的隐式类变量声明?

    我一直在查看一些代码 并且很难在 php 类中解决变量声明 具体来说 我正在查看的代码在使用类变量之前似乎没有声明它们 现在这可能是预料之中的 但我找不到任何表明这是可能的信息 那么你会期望这样吗 class Example public
  • 使用 MSDeploy 将可执行文件复制到服务器,然后运行它

    我已经使用 MSDeploy WebDeploy 来更新我的 Web 应用程序 这解决了我迄今为止设置的大约 90 的部署问题 此外 我想做的是将可执行文件 实际上是文件夹的内容 复制到服务器 然后运行该可执行文件 这会更新架构 我可以看到
  • Openstreetmap 反向地理编码

    有谁知道有哪些开源项目允许对 Open StreetMap 数据进行反向地理编码查找 我不想使用现有的托管网络服务 例如提名 https wiki openstreetmap org wiki Nominatim因为我的数据集很大 您可以安
  • OnClick() 事件和 OnClickListener 之间的区别?

    我一直在用onclick 我的大多数项目中都有这样的事件 但是 我读到OnClickListener 谁能说出这两者有什么区别 哪一个最适合在 Android 应用程序中使用 我不确定这个问题是否清楚 View OnClickListene
  • Android/PhoneGap:在插件开发中使用第三方库

    我正在开发一个 PhoneGap Cordova 插件 该插件应该提供一个用于发送和接收 OSC 消息 开放声音控制 的套接字 为此 我想使用JavaOSC http www illposed com software javaoscdoc
  • 如何在首选项中使用 QuietlyCoding 的 NumberPicker?

    我正在尝试使用 QuietlyCoding NumberPicker 因为我还没有找到其他的 但我无法让它工作 我将库作为项目导入 然后将其添加到我的项目中 偏好活动 public class MainPrefs extends Prefe
  • 如何制作以编程方式使用 UISplitViewController 和 UINavigationController 的通用 iPhone / iPad 应用程序?

    我在任何地方都找不到一个好的答案 我正在为我的 iPhone 应用程序使用 UINavigationController 所有内容都是以编程方式生成的 界面生成器中没有任何内容 我正在尝试使用 UISplitViewController 和