首页
学习
活动
专区
圈层
工具
发布

Xcode:处理故事板的更好方式 享受Interface Builder的提示和技巧

使用大小类变得更加直观,缩放故事板的能力非常方便,Interface Builder中的完整预览功能非常棒。...另一方面,许多开发人员在构建具有复杂导航功能的大型多屏幕应用程序时仍然会遇到一些界面问题。 在本文中,我将在您处理项目中的故事板和笔尖时分享一些好的做法。...这正是Interface Builder的创建方式。 但对开发人员而言,这可能会导致多个问题。 源代码控制:故事板合并冲突很难解决,因此简单地在单独的故事板中工作将使您的团队生活更轻松。...1.使用Xcode 7中引入的故事板引用 2.在代码中连接故事板。 你可以阅读更多关于第一种方式在这里。 我将介绍第二种方式,因为它仍然常用于复杂的项目。...否则,当您尝试创建对此故事板的引用时,应用程序将崩溃。

2.2K30

ARKit 的配置-在您的AR项目的幕后

下载 要学习本教程,您需要Xcode 10或更高版本,以及导入3D模型的最终Xcode项目。您可以下载本节的最终Xcode项目,以帮助您与自己的进度进行比较。...用户界面 了解构成起始AR应用程序的主要元素非常重要。首先,让我们来看看用户界面。 故事板 让我们选择Main.storyboard文件。故事板反映了用户界面的外观。...您还可以添加其他视图并管理它们之间的链接。基本上,故事板是设计师最好的朋友。 文件大纲 在左侧的文档大纲中,您可以看到所有对象的显示方式。您可以选择一个图标直接导航到该对象。...查看控制器类 在导入下方,ViewController已被声明为UIViewController类的一部分,并且与故事板中的视图相关。类具有属性,方法和协议,所有这些都在开发中被利用。...场景视图 在课程内部,从故事板到ARSCNView的链接被称为SceneView。在Xcode中,此链接称为IBOutlet。您也可以在故事板中看到引用插座。

3.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【IOS开发基础系列】Storyboard专题

    1 简介 1.1 故事板简介         如果你的 app 有大量的窗口,故事板能帮你减少许多用于从一个窗口转到另一个窗口的导航代码。...与传统的 nib 文件不同,故事板文件有以下优点:     1、通过一个故事板文件,你能对所有的窗口以及它们之间的关系一目了然。...因为所有的窗口设计在一个故事板文件中,你会更容易把握每次改动带给每个窗口的变化。     2、在故事板中可以描述各个窗口之间的转换。这种转换叫做 segue(连接)。...但是,当你使用故事板的时候,所有的UI 都放到了一个故事板中, MainWindow.xib 不再使用。         ...hAny——为什么Xcode6的故事板分辨率是480x480         那只是设计时提供给你的一个默认平台,并且可以适应各种不同大小分辨率。

    3.8K30

    按钮与交互-使用按钮触发操作

    在本节中,我们将介绍一个重要且简单的元素,即按钮。这个小元素可以改变整个UX。我们将使用该按钮来缩放我们的3D模型。此外,我们将尝试更改手机的壁纸。...对于您的型号,如果您有不同的材质或颜色,您也可以更改它。 下载按钮和互动 要学习本教程,您需要Xcode 10。您可以下载Final Xcode项目,以帮助您与自己的进度进行比较。...在资产目录中,将应用程序图标从assets文件夹拖放到选定的插槽中。 主要故事板 我们在屏幕上放置一些按钮。使用模板,主故事板附带一个ARSCNView,我们无法在其上放置按钮。...通过单击右上角带有双圆圈的图标启用助理编辑器。您将看到我们同时拥有主故事板和代码。在swift文件中,您将看到一个与之前的ARSCNView链接的IBOutlet。...IBActions 类变量 2个第一个按钮的目的是能够调整我们的3D模型的大小。问题是iPhoneNode的声明是渲染器方法的局部变量。

    6.3K20

    代码开发工具Xcode

    Xcode for Mac 的代码编辑器具有代码补全、语法高亮、代码导航和错误提示等功能,可以帮助开发者更加高效地编写代码。...同时,该软件还提供了各种调试工具,包括断点、单步调试和调试控制台,可以帮助开发者快速定位和解决程序中的问题。 除了代码编辑和调试功能外,Xcode for Mac 还具有强大的构建和测试功能。...Builder为每个目标设备显示像素完美的UI,并可以在任何缩放级别进行编辑 •查看调试会在运行时显示所有应用程序的UI视图图层的3D堆栈 •助理编辑者显示与您的主要任务相关的内容 •实时问题在您键入时会显示错误...Builder可以轻松设计您的界面而无需代码 •故事板让您可以在应用程序中安排屏幕的完整流程 •在设计画布中查看呈现的自定义控件 •为不同的设备,屏幕尺寸和方向自定义您的界面 •StackViews可以很容易地理解界面每个部分的布局...•从GUI设计直接创建与相关源代码的连接 专业编辑器和调试器保持您的代码前端和中心 •点击几键,Open Quickly将立即打开项目中的任何文件 •消息气泡会在您的代码旁边显示错误,警告和其他问题

    2.4K10

    添加多个屏幕-创建格线布局

    下载多个屏幕 要学习本教程,您需要Xcode 10。您可以下载Final Xcode项目,以帮助您与自己的进度进行比较。 查看控制器 在主故事板中,让我们构建我们的集合视图。...关键路径:layer.cornerRadius 类型:数字 值:40 在主故事板中看不到它是正常的,但是,当您运行应用程序时,您将看到它。 ?...然后,打开主故事板并启用助理编辑器。单击第二个View Controller的顶部,转到Identity Inspector并将其Class更改为DialogViewController。...然后,转到主故事板并选择cell,将其类更改为DialogCollectionViewCell。启用Assistant Editor并选择DialogCollectionViewCell。...转到主故事板,启用Assistant Editor,从按钮创建IBAction。将其命名为:screenImageButtonTapped。

    4.4K40

    使用CoreML和ARKit进行人脸检测和识别

    ,并且因为不喜欢使用故事板,所以应用程序以编程方式完成,这意味着没有按钮或开关切换,只需要纯粹的代码。...rootViewController = controller return true } 确保从部署信息中删除故事板“Main”。...// Show statistics 开始一个ARFaceTrackingConfiguration会话 现在需要开始一个会话ARFaceTrackingConfiguration,这个配置让可以访问仅适用于...mlmodel文件,这些是常见的: Turicreate:它是python库,简化了自定义机器学习模型的开发,更重要的是,可以将模型导出到可由Xcode解析的.mlmodel文件中。...MLImageClassifierBuilder():它是一个内置的解决方案,提供Xcode开箱即用,可以访问几乎一个拖放界面来训练一个相对简单的模型。

    3K20

    Blender 正在开发 iPad 版本 | 肘子的 Swift 周报 #095

    Blender 正在开发 iPad 版本 几天前,Blender 基金会宣布正在开发用于 iPad Pro 运行的原生版本[4],并针对 Apple Pencil 进行了专门优化。...初版将专注于基础对象操作和雕刻功能,后续版本会加入 Grease Pencil 和故事板功能。...,但它们的“黑盒”特性在出现异常时常令开发者束手无策,难以及时定位问题并找到有效解决方案。...Pol 强调:“调试的关键是定位”,只有掌握合适的工具,建立系统性的排查流程,才能真正高效地解决问题、节省时间。...工具 TrackWeight - 用触摸板来称重[24] 一个脑洞大开的 macOS 应用:将你的 MacBook 触控板变成一个精确的数字称重秤!

    43510

    用launchscreen.storyboard适配启动图方法

    详见随笔:用launchscreen.storyboard适配启动图方法(二) “使用 Xcode storyboard(故事板) 来提供 app 的启动屏幕”的要求已延期到2020.6.30....: 去除勾选UseSafeAreaLayout(否则在刘海平手机的非安全区域会有空白,看起来不够好看) ?...多语言适配(下面为想当然的错误示范+正确操作链接) 通过面板勾选Localization ?...展开launchscreen.storyboard,针对不同语言的launchscreen.storyboard设置不同的图片。经反馈,是行不通的!!! ?...正确操作请参考IOS 实现启动图 多语言切换 即使按上面链接方法做了静态国际化,以下两种状况是不会切换的 系统切换语言的时 重启系统 这种情况跟苹果人机交互规范相关。

    3.3K31

    iOS 后台任务

    前言 iOS的后台任务总共可分为两大类 一种是只针对某种类型的后台模式 另一种是请求系统给予额外的后台时间 无论上面的那种模式 一旦程序进入后台后 都无法处理远程的推送信息 不知道滴滴打车后台播单是如何实现的...,选择Required Background Modes Xcode将会在该条目下创建一个数组,并含有一个空条目。...点击该子条目右侧,并选择App plays audio 并且所有你选择的后台模式 程序中必须用到 并且不能用于其它用途 否则会审核不通过 1) 播放音频文件 仅当你的app是真的提供给用户音频播放功能...2) 获取定位更新 一般来说只要进入后台时 是在获取定位 定位只要不停止 就会一直在后台运行 需要提醒的是:仅当你的app确实能够根据后台定位来提供有益于用户的价值,才可使用该模式。...请求额外的后台时间 代码示例 当应用退出后台时 依旧会有几秒的后台运行时间 然后再挂起 但是我们可以像系统申请额外的时间 这个额外的时间不是固定的 我在测试时就只获取了3分钟的时间 申请额外的时间的代码如下

    1K10

    2020苹果Core ML框架三大更新:更多层类型、模型加密、基于CloudKit模型部署

    用户的应用程序中可能有多个模型,模型集合可以将多个模型捆绑在一起,更新时应用程序便会立即更新所有模型。用户可以在CloudKit仪表板上创建这些集合。...用户可以将此模型版本上传到CloudKit仪表板,然后将其放入模型集合中。(mlarchive实际上只是一个包含mlmodelc文件夹内容的zip文件。)...此解密版本不会在任何位置存储为文件,仅储存在内存中。 首先,用户需要一个加密密钥,而用户并不需要管理此密钥。Xcode的Core ML模型查看器中现在有一个「创建加密密钥」按钮。...它可以完成处理程序并提示用户响应加载的错误。 这个功能很容易在应用程序中实现,很好的解决了盗用专有技术的问题。 此外,Create ML在今年也有了很大的改进, 提供了新的模板和训练功能。...在CreateML.framework中,还提供了更多针对视觉和自然语言的 API。

    2.5K10

    iOS 高德地图开发详解

    如果您尚未创建 Xcode 项目,请立即创建一个并将其保存到您的本地计算机。 (如果您第一次接触 iOS 开发,请创建一个Single View Application。)...pod repo update 2.2.5重启 Xcode 关闭Xcode,然后打开(双击)您项目的 .xcworkspace 文件以启动 Xcode。...二:自定义地图功能 在上面功能的基础上我们可以针对需求,自定义地图功能,下面我就列举出常用功能设置方法: 1.地图Logo 默认的Logo为蓝色字样的“高德地图”,显示在地图的左下方。...= CGPointMake(_mapView.compassOrigin.x, 22); //设置指南针位置 3.比例尺 比例尺表示地图上两点间距离与实际与之对应的两点距离的比,在不同的缩放级别下,比例尺代表的长度也是不同的...: (MAUserLocation*)userLocation updatingLocation:(BOOL)updatingLocation 9.2后台定位 app退到后台,且位置不变动时,也不会被系统挂起

    3.2K20

    【iOS 开发】Objective-C 入门 Xcode 环境详解

    Xcode 界面详解 1....搜索导航简介 : 在搜索框中输入要搜索的字符串, 按回车就可以搜索出包含该字符串的类; (4) 问题导航面板 问题导航面板简介 : 显示项目中存在的警告或者错误; (5) 测试导航 测试导航简介...检查器面板 检查面板分类 :  -- 普通源文件 : 包含 文件检查器 和 快速帮助器; -- 故事版 : 界面文件, 除了文件检查器 和 快速帮助器之外, 还有 身份检查器, 属性检查器, 大小检查器...-- 文件库模板 : 管理文件模板, 可以快速创建指定类型文件, 可以直接拖入项目中; -- 代码片段库 : 管理各种代码片段, 可以直接拖入源代码中; -- 对象库 : 界面组件, 可以直接拖入 故事板中...Xcode 帮助系统详解 帮助系统作用 : Object-C 开发中需要调用很多系统的类, 需要了解每个类的 用法, 通过 Xcode 帮助系统可以查询这些类的用法; 1.

    2.8K20

    Travis CI 教程:入门

    开发人员知道,在问题影响用户之前,必须彻底测试应用程序。忘记测试会导致像烦恼的客户一样的复杂情况,在 App Store 中咆哮一星评论,以及因为让简单的错误漏网而引起的瘀伤。...您必须在服务器上设置和维护 OS X Server 和 Xcode 版本,找出用于查看结果的访问控制,以及处理配置和签名问题。听起来很多工作,对吧?...如果您考虑 TaskTableViewCell 通常如何创建 - 通过从故事板加载的视图控制器管理的单元重用队列 - 这种崩溃是有意义的。单元格没有从故事板加载,所以 IBOutlets 不要搞定。...幸运的是,这是不是 太 很难解决 - 抓住从实例到单元格的引用 MasterViewController 从故事板实例化,并使用它的 tableView(_:cellForRowAtIndexPath:...您可以在 此处 下载完成的项目。 本教程仅涉及 Travis CI 可以做的事情。不,它不会给你取咖啡或啤酒,但 Swift 不仅仅是运行测试。 Swift 的进一步能力 .

    7K21

    iOS App Store 提交被拒?请收好这份最新 ITMS 错误速查表

    二进制文件问题​​构建版本(IPA 文件)的签名、架构或格式错误。​​合规性问题​​违反 App Store 审核指南(如隐私政策缺失、使用私有 API、数据收集不合规等)。​​...服务器或网络问题​​苹果服务器故障或开发者网络不稳定导致的提交失败。二、如何处理 ITMS 错误​1. ​​...Xcode 和 Transporter 日志​​:通过工具生成的详细日志定位问题根源。2. ​​...storyboard filename without a filename extension for the key UILaunchStoryboardName in the Info.plist原因启动故事板未找到...,Info.plist 中的 UILaunchStoryboardName 值不正确​​解决方式​​检查 Info.plist 中的 UILaunchStoryboardName 值,确保其与启动故事板文件名一致

    1.5K20

    了解和分析iOS Crash Report

    如果你的app在挂起时拿到了文件锁或者sqlite数据库锁,它必须请求额外的后台执行时间(request additional background execution time )并在被挂起前完成解锁操作...每一行都包含了一个二进制文件的以下细节信息: 在进程内的二进制文件的地址空间 一段二进制的名称或者bundle id(仅针对macOS)。...一个MacOS的crash report,如果二进制时OS的一部分,会在前面加上a。 (仅针对macOS)二进制的短版本(short version)和bundle版本,通过破折号来分割。...(仅针对iOS)二进制文件的架构名。一个二进制可能包含多个分片,每一个架构它都支持。其中只有一个可以被加载到进程中。 一个可以唯一标示二进制文件的id,即UUID。...当你发现一个低内存crash,与其去担心哪一部分的代码出现问题,还不如仔细审视一下自己的内存使用习惯和针对低内存告警(low-memory warning)的处理措施。

    2.2K20

    了解和分析iOS Crash

    如果你的app在挂起时拿到了文件锁或者sqlite数据库锁,它必须请求额外的后台执行时间(request additional background execution time )并在被挂起前完成解锁操作...每一行都包含了一个二进制文件的以下细节信息: · 在进程内的二进制文件的地址空间 · 一段二进制的名称或者bundle id(仅针对macOS)。...一个MacOS的crash report,如果二进制时OS的一部分,会在前面加上a。 · (仅针对macOS)二进制的短版本(short version)和bundle版本,通过破折号来分割。...· (仅针对iOS)二进制文件的架构名。一个二进制可能包含多个分片,每一个架构它都支持。其中只有一个可以被加载到进程中。 · 一个可以唯一标示二进制文件的id,即UUID。...当你发现一个低内存crash,与其去担心哪一部分的代码出现问题,还不如仔细审视一下自己的内存使用习惯和针对低内存告警(low-memory warning)的处理措施。

    2.3K20

    了解和分析iOS Crash

    如果你的app在挂起时拿到了文件锁或者sqlite数据库锁,它必须请求额外的后台执行时间(request additional background execution time )并在被挂起前完成解锁操作...每一行都包含了一个二进制文件的以下细节信息: · 在进程内的二进制文件的地址空间 · 一段二进制的名称或者bundle id(仅针对macOS)。...一个MacOS的crash report,如果二进制时OS的一部分,会在前面加上a。 · (仅针对macOS)二进制的短版本(short version)和bundle版本,通过破折号来分割。...· (仅针对iOS)二进制文件的架构名。一个二进制可能包含多个分片,每一个架构它都支持。其中只有一个可以被加载到进程中。 · 一个可以唯一标示二进制文件的id,即UUID。...当你发现一个低内存crash,与其去担心哪一部分的代码出现问题,还不如仔细审视一下自己的内存使用习惯和针对低内存告警(low-memory warning)的处理措施。

    1.9K30
    领券