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

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

我们实现一个CollectionView,我们将能够切换到您想要的壁纸。该的CollectionView将是滚动的水平。 下载多个屏幕 要学习本教程,您需要Xcode 10。...您可以下载Final Xcode项目,以帮助您与自己的进度进行比较。 查看控制器 在主故事中,让我们构建我们的集合视图。首先,把视图控制器从对象库旁边我们的视图控制器。...extension DialogViewController: UICollectionViewDataSource, UICollectionViewDelegate { } 设置委托尝试运行代码...关闭 Collection View 当我们点击按钮,我们想要关闭Collection View。转到主故事,启用Assistant Editor,从按钮创建IBAction。...在返回cell之上,cell的索引更改为索引路径行。 cell.index = indexPath.row 返回UIImage 当我们点击按钮,它将在函数中返回UIImage类型的图像。

2.9K40

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

点击 MainStoryboard.storyboard 文件,打开故事编辑器:         故事编辑器从外表上看很像是IB。...与之对应的是,故事应用程序使用 UIMainStoryboardFile或者“Main storyboard file base name”键。它要求应用程序在启动需要加载的故事文件名。...具体实现方法:          例如,在故事中Level1VC中添加一个按钮,然后level2VC拖入故事,按住cmd键,鼠标点击按钮并拖入level2VC,在弹出的菜单中选择show事件,即完成了从...设置它的Mode 为 Center(在属性面板的 View 下面)以便当我图片放入时它不会被拉伸。         我俩个 label 的宽度设置为210,这样不会遮住ImageView。...hAny——为什么Xcode6的故事分辨率是480x480         那只是设计时提供给你的一个默认平台,并且可以适应各种不同大小分辨率。

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

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

源代码控制:故事合并冲突很难解决,因此简单地在单独的故事中工作将使您的团队生活更轻松。 故事文件变得沉重且难以导航。...1.使用Xcode 7中引入的故事引用 2.在代码中连接故事。 你可以阅读更多关于第一种方式在这里。 我介绍第二种方式,因为它仍然常用于复杂的项目。...,您需要提供viewController故事ID,并且每次创建HomeViewController都需要使用此模式。...否则,当您尝试创建对此故事的引用时,应用程序崩溃。...当您使用“if / else”或“switch”语句添加一些segues,PrepareForSegue方法变得难看并且不可读。 有什么选择?

1.4K30

【IOS开发基础系列】Xcode工具使用技巧

1.2.2 dSYM文件有什么作用         当我们软件 release 模式打包或上线后,不会像我们在 Xcode 中那样直观的看到用崩溃的错误,这个时候我们就需要分析 crash report...使用步骤:     1.打包发布软件的xcarchive文件拖入软件窗口内的任意位置(支持多个文件同时拖入,注意:文件名不要包含空格)     2.选中任意一个版本的xcarchive文件,右边会列出该...Mac app下载地址项目源码地址 1.3 工程配置 1.3.1 调试静态资源每次更新 XCODE调试强制更新模拟器上的资源文件 http://blog.csdn.net/samuelltk/article...tid-1693682-page-2.html 1.3.3 确保Xcode每次Build都自动更新资源 http://www.tuicool.com/articles/nABr6n 解决Xcode 5...,现在苹果的做法是你在xcode上登录你的账号,打开xcode,点击上面的window选择organizer,出现如图 ,然后选择你要查看的版本,就可以看对应的崩溃日志。

42420

iOS链接库的冲突

韩国版本在添加了下载模块进行测试,遇到了崩溃。使用 Release Run ,在下载补丁那里必崩(编译是正常的),崩溃的地方是在 curl_easy_init 就挂掉了,很神奇。...最初怀疑是库的添加顺序,尝试调整顺序后发现不是。然后使用排除法,删相关的库,发现有一个库看上去有点奇怪,解压出来发现里面引用了 OpenSSL库,而我们的下载模块也用到了这个库。...解决方案就是使用 .framework动态库,4个.a整合成一个动态的.framework,然后添加到Xcode里。 问题解决后,在网上搜索了相关的资料。把相关的知识再重新梳理一遍。...库(Library)分为:静态链接库、动态链接库,下面三大主流平台动态、静态库做一个简单的对比。...framework 拖到 xcode肯定是很蛋疼的,增好 Unity 提供了 Xcode API 来解决这个问题。

2.5K30

Final Cut Pro X效果插件开发总结

既然如此,就只好去使用FxPlug来尝试一下能否实现目标功能了。       Final Cut Pro是苹果公司开发的一款视频剪辑软件,因此需要在OS X平台上运行。...要生成简单的效果,可以简单的CIFxPlug插件拖到右边的Drop Zone即可。然后保存发布,这里要填好模板名称和类别。类别一般是公司名称,模板名称则是效果的具体名字。...在使用dylib,Motion崩溃退出时经常报Code Signature Invalid异常。后来经过调试发现,原来是在XCode中做Archive操作时会对dylib做签名操作。...一种解决办法就是:把所有的dylib的path修改好后放到工程目录下,在XCode中引用这些dylib,在build phase中添加Copy Files Phase,这一步可以让XCode打包自动拷贝签名好的...有时候会莫名其妙的崩溃,以至于排查代码错误显得非常的困难。幸好Motion和FCPX在崩溃时有一部分调用堆栈信息,在一定程度上可以帮助缩小问题范围。

2.7K81

美团 iOS 工程 zsource 命令背后的那些事儿

程序断点在二进制组件的代码中的样子 和业界大多的组件化方案类似,美团App的组件化方案也提供了一个组件从二进制切换到源码的机制。...而且这种方式每切换一次就必须重新编译运行一次App,在追查一些偶现崩溃问题,开发体验非常不友好,也不利于崩溃问题的快速定位分析。...当我们在Xcode中打断点进行调试的时候,Xcode会根据二进制中这个字段中存储的源码文件地址,打开对应的源码文件,并在UI上展示该源码文件。 道理好像没有什么问题,但是事实是这样吗?...实验说明 实验中,他们分别创建了两个Xcode工程A和B,工程A会产出一个二进制libA.a。工程B会直接A的产出libA.a 拖到工程中,然后设置A中代码的符号断点,编译运行。...结果发现,当断点断在A中的代码Xcode会直接跳转到A的源文件中,并且可以继续增加断点以及正常的单步调试。 通过这个实验,我们确定了猜想是正确的。

87610

Swift 项目 - Xib | StoryBoard 多人协作技巧

Segue 按住Control键连线到想要包含的子控制器,占位视图的实例==子控制器的view(子控制器根视图) 选择Embed连线方式后,子控制器 的尺寸变化成跟占位视图一样的尺寸 这样我们可以功能图标的...这个问题其实问的很模糊,我也是咨询了很多人才知道,他们所谓的问题不容易测试,是指如下两种情况: 修改或删除 @IBOutlet 的变量名,对应的Storyboard上未做处理,导致运行时崩溃崩溃内容看不懂...绑定的类名改变,对应的Storyboard上未做处理,导致运行时崩溃崩溃内容看不懂!...这个方法找不到对应的属性,就会抛出异常, 这里就是指找不到featuresController属性,通过全局搜索可以发现,代码中改了名字, 解决的方法同样是删掉对应的连线或者修改变量名使用重构 由此可见...而且重构代码利用Xcode重构功能的话,连问题都不会出现 StoryBoard 和 Xib 降低执行效率?

2K20

美团 iOS 工程 zsource 命令背后的那些事儿

程序断点在二进制组件的代码中的样子 和业界大多的组件化方案类似,美团App的组件化方案也提供了一个组件从二进制切换到源码的机制。...而且这种方式每切换一次就必须重新编译运行一次App,在追查一些偶现崩溃问题,开发体验非常不友好,也不利于崩溃问题的快速定位分析。...当我们在Xcode中打断点进行调试的时候,Xcode会根据二进制中这个字段中存储的源码文件地址,打开对应的源码文件,并在UI上展示该源码文件。 道理好像没有什么问题,但是事实是这样吗?...实验说明 实验中,他们分别创建了两个Xcode工程A和B,工程A会产出一个二进制libA.a。工程B会直接A的产出libA.a 拖到工程中,然后设置A中代码的符号断点,编译运行。...结果发现,当断点断在A中的代码Xcode会直接跳转到A的源文件中,并且可以继续增加断点以及正常的单步调试。 通过这个实验,我们确定了猜想是正确的。

91330

WWDC20中iOS的改变

在刷新数据源,只要重新计算diff,计算进行局部刷新,可以大大提高UICollectionView的性能。...PencilKit可让您轻松快捷地手绘内容整合到iOS或macOS应用中。...4.Catalyst Catalyst是能够iOS应用程序引入macOS的基础架构,这些年,很多的iOS的app开始尝试跨平台开发,事实上,Catalyst也在不断的改进,今年也更多iOS的库或者对应的功能加入到...tests to fail 这里是讲如何做好单元测试的地方,由于这块代码是业务代码强相关,需要开发者自己进行撰写,这里不仅做了讲解,还对一些功能进行了演示,十分推荐iOS的同学学习,特别是做业务代码,...用户可以通过授权执行各种操作,例如先在 Reduced 的情况下授予使用权,然后将其升级为 Full,甚至进行诸如授权更改为 Always,然后再次精度降级为 Reduced 的操作。

1.7K10

模型添加到场景中 - 在您的环境中显示3D内容

下载 要学习本教程,您需要Xcode 9或更高版本,以及Focus Square的最终Xcode项目。您可以下载本节的最终Xcode项目,以帮助您与自己的进度进行比较。...然后,鼠标悬停在左侧的“ 对齐”图标上,并在“容器”中选中“水平”以在屏幕中水平居中。 添加按钮功能 我们刚刚在屏幕上添加了按钮,但它根本没有做任何事情。当我们触摸它,让按钮执行某些操作。...现在,打开Assistant编辑器并控制故事中的按钮拖到ViewController类。代码中的顺序并不重要,因为我们稍后会移动此函数。原因是我们不能在扩展类中执行此操作。...焦点方块隐藏/显示选项 当我们在屏幕上显示模型,我们仍然看到焦点方块干扰了我们漂亮的模型。如果我们在安置后隐藏它,你怎么说?...我们在故事中定制了我们的视图,并在代码中播放动画。在下一课中,我们将使用虚拟对象本身。敬请关注。 原文: https://designcode.io/arkit-adding-models

5.5K20

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

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

2.5K20

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

在本节中,我们介绍一个重要且简单的元素,即按钮。这个小元素可以改变整个UX。我们将使用该按钮来缩放我们的3D模型。此外,我们尝试更改手机的壁纸。...下载按钮和互动 要学习本教程,您需要Xcode 10。您可以下载Final Xcode项目,以帮助您与自己的进度进行比较。 设置 现在,您可以更改项目名称并添加应用程序图标。...在设置页面中,显示名称更改为角度AR或所需名称。在资产目录中,应用程序图标从assets文件夹拖放到选定的插槽中。 主要故事 我们在屏幕上放置一些按钮。...使用模板,主故事附带一个ARSCNView,我们无法在其上放置按钮。首先,删除ARSCNView并放置UIView。拥有UIView,允许我们放置这3个按钮并添加约束。...您将看到我们同时拥有主故事和代码。在swift文件中,您将看到一个与之前的ARSCNView链接的IBOutlet。由于我们删除了那个,新的ARSCNView链接到该Outlet。

4.5K20

Travis CI 教程:入门

在这个 Travis CI 教程中,您将使用公共 GitHub 存储库和 Travis 的免费版本来设置每次尝试新更改合并到该存储库时运行的测试。 注意:本教程假定: ....通过发送 TouchUpInside 当用户点击它调用的事件,轻击该复选框。 确保所有内容都得到更新 - 从复选框开始,通过验证其状态是否已更新,然后等待满足期望,以确保使用新值更新委托。...travis_test_error-700x50 向上滚动一下,查看有关运行测试发生的崩溃的信息: ? travis_fail_stack_trace D'哦!...一个力的展开 IBOutlet 没有用,所以测试崩溃了。那为什么会这样?...如果您考虑 TaskTableViewCell 通常如何创建 - 通过从故事加载的视图控制器管理的单元重用队列 - 这种崩溃是有意义的。单元格没有从故事加载,所以 IBOutlets 不要搞定。

5K21

Swift 自定义布局实现瀑布流视图

今天我给大家带来的这篇教程中,演示如何实现一个自定义的瀑布流布局方案,类似下图: 大家在这个过程中会学习到以下几个知识点: 1.关于自定义布局2.动态尺寸 Cell 的处理3.计算和缓存布局属性 好了...自定义布局 日常开发中,我们使用 UICollectionView 控件都会搭配一个默认的,提供一些基础的布局 UICollectionViewFlowLayout 来使用,但是当我们需要实现定制化程度比较高的界面...= .white collectionView.dataSource = self // 注册 Cell collectionView.register...} func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath...indexPath: IndexPath) -> CGFloat { return CGFloat(arc4random_uniform(150) + 50) } } 将上述代码添加到 Xcode

2.3K30

AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

如果您没有可用的 iPhone、iPad 或 Apple TV,您可以使用 Mac 使用 Xcode 中的 My Mac target来测试画中画功能。 下载项目材料。...注意:对 RickTV target执行以下步骤Xcode 可能会崩溃。 如果发生这种情况,只需重新启动它。...collectionView(_:didSelectItemAt:)的最后一行是呈现播放器控制器的方法: presentPlayerController(with: player, customPlayer...但是,如果您构建并运行并尝试此操作,您将看到画中画窗口立即关闭。 这是因为您的自定义播放器对象被释放,这是唯一保留画中画控制器的东西,因此也被释放。...您在此处调用的方法等效于当用户请求从画中画返回标准播放标准播放器调用的方法。 现在打开 CategoryListViewController.swift。

2.7K10

使用symbolicatecrash解析了一个crash log

有一天,测试同学给了我一个未经符号化的崩溃日志。如果是以前,我会找到打这个测试包的同事,让他奔溃日志符号化后发给我。....< 工具和必要文件 上网查了查,我选择了symbolicatecrash工具来符号化这个崩溃日志。这是Xcode自带的一个perl脚本。...System framework的符号化 当我按照上面的步骤运行了symbolicatecrash之后,我发现得到的符号化之后的崩溃日志中,只有应用本身被符号化了,UIKit等system framework...想起每当我第一次某个iOS设备连接到电脑上Xcode都会loading一段时间,才能使用这个设备。在loading的阶段,依稀记得Xcode上的提示是“copying symbols”之类的。...出现了7.0.6文件夹 而当Xcode的loading结束后,再次运行symbolicatecrash,就得到了完整的符号化之后的崩溃日志。

83320

兼容-记录Xcode8.0恢复插件全过程

终于有时间来写下自己恢复Xcode8.0插件的全过程了。也算无语,我在回复插件的时候尝试了两个不同的方法。不管怎样最后还是回复了插件的使用了。...苹果这么做有一个原因在于,之前Xcode和插件是运行在同一个进程的,所以插件的崩溃也会导致Xcode崩溃。苹果现在插件作为一个单独的应用程序,分开进程运行,不会对Xcode带来其他影响。 ?...因此,DVTPlugInCompatibilityUUIDs 中存放的是 Xcode 版本对应的 UUID,Xcode 在启动加载控件当前 UUID 同插件 Info.plist 中 DVTPlugInCompatibilityUUIDs...Snip20161208_7.png 解决办法:当前版本的 UUID 加到 DVTPlugInCompatibilityUUIDs 中即可。...然后用这个unsign的xcode继续愉快的和插件玩耍;( 通过update_xcode_plugins这个库) 当我们需要打包的时候,我们可以继续回到安全的xcode上工作。

1.1K20
领券