首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

图片来源:Apple Apple在Xcode 8中对Interface Builder进行了很大的改进。...您需要为每个ViewController分配storyboard ID,这很容易出错:每次要在代码中使用ViewController时都需要对此ID进行硬编码 如何在项目中连接不同的故事板?...1.使用Xcode 7中引入的故事板引用 2.在代码中连接故事板。 你可以阅读更多关于第一种方式在这里。 我将介绍第二种方式,因为它仍然常用于复杂的项目。...这将简化命名约定,并在建议#3中为您提供一些好处。 3.在其UIViewController子类中初始化storyboard。...更好的方法是将此代码移动到viewController子类中,并使用静态方法使用storyboard初始化它: class HomeViewController: UIViewController {

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

    IOS入门之StoryBoard

    概述 在iOS的发展历程中,IOS开发经历了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建全部...XIB 其实IB和xib是从iOS SDK初次面世开始就是捆绑在开发者工具套装内的内容了,而到了Xcode 4之后更被直接集成到了Xcode中成为了IDE的一部分. xib设计的一大目的其实是为了良好的...MVC:一般来说,单个的xib文件对应一个ViewController,而对于一些自定义的view,往往也会使用单个xib并从main bundle进行加载的方式来载入.IB帮助完成view的创建,布局和与...UIViewController self.navigationController?....UIViewController self.navigationController?.

    1.8K70

    iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)

    例如,很多人不清楚“方法”与“消息”是什么,但这对于理解消息传递系统如何在低级别工作至关重要。 方法:与一个类相关的一段实际代码,并给出一个特定的名字。...这些符号可在Xcode中的开发者文档中搜索Type Encodings就可看到符号对应的含义,更详细的官方文档传送门 在这里,此处不再列举了。 ?...解决办法就是在Xcode的Build Phases中的资源文件里,在对应的文件后面 -w ,忽略所有警告。 ?...所以我们要配置其他参数时是从第三个参数开始配置 消息转发 3.2.3 验证对比新方案 注意测试的时候,选择iOS10系统的模拟器进行验证(没有的话可以先Download Simulators),安装完后如下如选择...消息转发弥补了objc不支持多继承的性质,也避免了因为多继承导致单个类变得臃肿复杂。

    2.1K11

    【IOS开发进阶系列】IOS常用开发技巧专题

    1     工程配置类 1.1     添加预编译文件     将AFNetworking添加到预编译头文件,意味着这个框架会被自动的添加到工程的所有源代码文件中。.../Volumes/Xcode/Xcode.app /Applications/Xcode.app 2     调试技巧 2.1     日志打印类 2.1.1 让Xcode的控制台支持LLDB类型的打印...rm ~/.lldbinit 命令即可. 2.1.2 Objective-C自定义NSLog宏 /*  XCode LLVM XXX - Preprocessing中Debug会添加 DEBUG=1 标志...中Debug View Hierarchy功能         在ios8/xcode6以后,苹果引入了新的技术手段支持我们进行实时ui调试;使用xcode运行app过程中,按下底部的Debug View...Tip 2:imageWithContentsOfFile读取图片需要加文件后缀名如png,jpg等;?

    45940

    strong,weak, retain, assign的区别@property的参数

    用于 基础数据类型 (例如NSInteger)和C数据类型(int, float, double, char, 等),另外还有id 如: @property (nonatomic, assign) int...一般是用于字符串( NSString,NSMutableString),数组(NSMutableArray,NSArray),字典对象,视图对象(UIView ),控制器对象(UIViewController...) NSString * myString; @property (nonatomic, retain) UIView * myView; @property (nonatomic, retain) UIViewController...* myViewController; xcode 4.2不支持ARC,所以会频繁使用retain来修饰,用完释放掉,而xcode4.3支持ARC,可以使用retian,不需要手动释放内存,系统会自动为你完成...因为返回布尔类型的方法名一般以is开头,修改名称一般用在布尔类型中的getter。

    1.8K100

    iOS屏幕旋转及其基本适配方法

    关于屏幕旋转的设置有很多,有Xcode的General设置,也有info.plist设置,更还有代码设置等,这么多的设置很是繁杂。...开启屏幕旋转的全局权限有三种方法,包括通过Xcode直接配置的两种方法和代码控制的一种方法。这三种方法作用相同,但是由于代码的控制在程序启动之后,所以也是最有效的。...在Xcode中依次打开:【General】—>【Deployment Info】—>【Device Orientation】,我们可以看到默认支持的设备方向如下: image.png 可以发现,UpsideDown...如果我们要具体控制单个界面UIViewController的旋转就必须先看一下根视图控制器的配置情况了。...比如说我们设置要单个视图控制器可以自动旋转,这需要在视图控制器中增加shouldAutorotate方法返回YES或者NO来控制。

    9.5K60

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

    在本节中,我们将看看如何在后面配置提供的ARKit模板。我们将发现什么是世界跟踪和AR会话。同样,我们将学习如何将一些调试选项应用于场景中的指导。...下载 要学习本教程,您需要Xcode 10或更高版本,以及导入3D模型的最终Xcode项目。您可以下载本节的最终Xcode项目,以帮助您与自己的进度进行比较。...查看控制器类 在导入下方,ViewController已被声明为UIViewController类的一部分,并且与故事板中的视图相关。类具有属性,方法和协议,所有这些都在开发中被利用。...在Xcode中,此链接称为IBOutlet。您也可以在故事板中看到引用插座。...统计信息提供有关场景渲染性能的信息,如每秒帧数(fps),动画,物理等.Apple建议将fps设置为60.在您的设备上,您可以单击+按钮展开统计栏更多细节。

    2.5K20

    iOS开发常用之测试调试、动态更新

    UIViewController-Swizzled - 把你进入的每一个控制器的类名打出来,如果看一些特别复杂的项目的时候直接运行demo就可以知道执行次序了。...snoop-it -snoop-it比UIViewController-Swizzled好用,代码托管在谷歌上。 版本 - 版本比较小工具。...快速 - 用于Swift中的单元测试(也可用于Objective-C),与Xcode整合在一起。...(JSPatchX)[ https://github.com/bang590/JSPatchX ] JSPatch的XCode代码补全插件。...是不可多得地学习WatchKit的示例式教程(1.如何创建一个简单的交互式计数器; 2.如何从手表上控制iOS应用程序; 3.如何在WatchKit应用程序和iOS应用之间共享数据; 4,如何创建一个拥有不同背景色的数字时钟

    3.5K20

    初探 Core ML:学习建立一个图像识别 App

    注: 接下来的教学会使用 Xcode 9 作为开发工具,同时需要有 iOS 11 的设备以便测试其中的功能。Xcode 9 支持 Swift 3.2 及 4.0,我们使用 Swift 4.0 开发。...虽然可能无法每次都识别成功,但你可以藉此思考出如何在你 App 里使用 Core ML。 ? coreml-app-demo 现在就开始吧! 首先,开启 Xcode 9 然后建立一个新项目。...因此我们先点选 StoryBoard 中的 ViewController,然后到 Xcode 的功能列中点选 Editor-> Embed In-> Navigation Controller。...当你下载完 Inception v3 后,将它放入 Xcode 项目中,然后看一下他显示了哪些东西。 ?...本篇只是介绍性的教学文章,如果你对如何将其他的机器学习模型(如:Caffe、Keras、SciKit)整合至 Core ML 模型感兴趣的话,敬请锁定我们 Core ML 系列的下篇教学文章。

    2.8K70

    【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    导航面板中的目录 文件 与 真实文件系统中的目录文件不是对应的; -- 逻辑分组 : Xcode 将 真实文件进行了逻辑分组, 并不是真实的文件结构; -- 自定义分组 : 开发者还可以创建自定义的分组...类; -- 拖动控件到 UIViewController 中 : 按住 control 键, 将控件拖到 UIViewController.h 中; -- 设置 IBOutlet 的属性 : 控件拖到...UIViewController 中后, 弹出下面的对话框; -- 连接控件 : 点击上面的 Connect, 在 UIViewController 中就会出现 @property IBOutlet...UIViewController 中的 IBAction 方法 与 界面设计文件中的 UIButton 组件绑定; -- 触发 IBAction 方法 : 界面中的 UIButton 被点击, 就会回调...文件中 : 按住 control 键不放, 将按钮拖动到 UIViewController 中; -- 设置 IBAction 属性 : 在接下来弹出的对话框中的 Connection 列表设置 为

    5K30

    iOS应用构建与部署小结

    命令行编译 为了更好地了解编译过程,我们可以脱离Xcode IDE,在命令行编译该项目: 首先,在项目目录中查看Schemes: $ xcodebuild -list -project HelloWorld.xcodeproj.../HelloWorld.app中, xxxx看起来是一段随机数。...启动,也可以通过命令行进行管理,如: xcrun simctl help 查看具体帮助: $ xcrun simctl help install Install an app on a device....ipa打包 对于有源码的应用,我们可以使用Xcode进行打包,打包流程可以参考stackoverflow中的一个回答。 不过这需要有开发者账号。由于我们是自己使用,因此要找一种无需开发者账号的方法。...其他 除了上述方式,还有一些开源脚本可以帮助我们安装部署自己的应用,如ios-deploy, 只要连接USB输入以下命令即可安装: $ ios-deploy -b HelloWorld.ipa [...

    2K40

    如何使用 Swift 开发 iOS PDF 查看器或编辑器

    IDE 版本:Xcode 12.0 或更高版本。在本篇文章中,我们将以 Xcode 14.0.1 为例。目前,Mac 的 M 系列芯片不支持在 Apple Silicon 模拟器上运行。...对于早期版本的 Xcode(如 Xcode 13),Bitcode 选项可能被设置成默认打开,这需要关闭它才能运行。...在 Swift 中开发 iOS PDF 查看器或编辑器在此部分,我们分步说明了如何在 Swift 中开发 iOS 应用程序。...在本篇文章中,我们将以 Xcode 14.0.1 为例。第 1 步:创建一个新项目启动 Xcode,然后选择File -> New -> Project。然后,在iOS中选择App ->应用程序。...= self.view.bounds创建 CPDFViewController 的所有代码如下所示:import UIKitimport ComPDFKitclass ViewController: UIViewController

    18400

    使用Kotlin Native技术开发iOS应用

    创建Kotlin Native项目 Kotlin Native使用Gradle作为默认构建工具,想要在Xcode中编译Kotlin Native项目,需要在项目中添加相关的运行脚本,该脚本调用Gradle...相比使用Xcode创建的原生iOS项目而言,使用Kotlin/Native方式创建的iOS项目显然多一些配置文件(如Frameworks和KotlinNativeFramework)。...此时,只需要点击【Run】按钮即可在iPhone模拟器或者真机中启动应用程序。...不过,此时的程序还没有实现任何的功能,为了在项目中使用Kotlin来编写iOS应用程序,可以在Kotlin Native项目的Project文件中创建一个Kotlin的文件目录(如src/main/kotlin...platform.Foundation.NSCoder import platform.UIKit.* import kotlinx.cinterop.initBy @ExportObjCClass class ViewController: UIViewController

    2.1K30
    领券