在iOS中以正确的方式处理自定义UIColor

如果您是一名应用程序开发人员,那么在处理多个应用程序中必须使用的多种颜色代码时,您肯定会面临一些挑战。 如果我们要为某个UIView设置颜色,那么我们将通过属性检查器在情节提要上进行设置,或者通过编程对UIColor类使用以下方法之一: 初始化(白色:CGFloat,alpha:CGFloat) 初始化(色相:CGFloat,饱和度:CGFloat,亮度:CGFloat,alpha:CGFloat) 初始(红色:CGFloat,绿色:CGFloat,蓝色:CGFloat,alpha:CGFloat) 初始化(CGColor cgColor:CGColor!) init(patternImage图片:UIImage) 初始化(CIColor ciColor:CIColor) 这似乎很无聊,而我们必须通过提供适当的值来进行设置,例如: self.view.backgroundColor = UIColor(red: 120/255, green: 150/255, blue: 200/255, alpha: 1) 苹果已经从Xcode 9中引入了一种称为“ 颜色集”的东西。 颜色集可帮助您在一处定义所有颜色。 您可以轻松地将自定义颜色添加为颜色集。 有趣的事实是您可以为每种颜色指定适当的命名约定。 当您要更改颜色值时,它也会很有用,您可以在一处更改颜色,并且可以在任何地方反映。 作为开发人员,您可以轻松记住该颜色的名称,也可以参考并在其他项目中使用它。 这使我们的生活轻松吗? 让我们逐步了解如何实现此目标: 您需要在资产文件中添加“ 新颜色集” 。 给您的颜色设置适当的命名约定 : 选择颜色集并通过属性检查器分配所需的颜色 。 通过创建颜色集添加所有必需的自定义颜色。 现在是时候在我们的应用程序中使用此自定义颜色了。 首先,我们将看到如何通过情节提要为UIView设置颜色。 您也可以通过编程方式使用自定义颜色。 检查这个…… 好的,这些是在iOS中正确使用颜色的一些技巧。 希望下次我会提出其他一些功能。 同时,如果您对iOS中的Reactive编程感兴趣,则可能希望查看有关此内容的文章: Swift第1部分中的Reactive编程 随时在Linkedin上添加我,祝您编程愉快……..

服务器端Swift:Vapor 3-Bölüm2:APIOluşturma第2/2部分

Merhaba👋🏻, 第1部分:API API应用程序API。 亲子ilişkilerineve流利的query’lerinegeçmedenönceuygulamaya 用户 ve 风格 ekleyelim。 用户ve类别控制器的用户类别控制器的声音。 蒸气xcode -y 用户sınıfını实现edelim。 Fluent’in用户手册。 Bu id’yi Song eklerken creatorID参数设置。 creatorID’miz ile Song’u ekledik。 响应身体içerisindeayrıntılıolarakgörüyoruz。 Bir Song daha ekleyelim。 即时用户(Sim’User’ıneklediğitümSong’ları)正在获取其他信息。 Buradakullanacağımızurlyapısı; http:// localhost:8080 / api / users / CREATOR_ID /歌曲 Son olarak Song’u ekleyen用户’ıgetiren fonksiyonumuzu测试edelim。 Kullanacağımız路线yapısı; http:// localhost:8080 / api / songs / 1 / creator 亲子ilişkilerindebahsetmem […]

UITabBarController以编程方式

UITabBarControllers是在视图控制器之间导航的好方法。 iOS Clock应用程序就是一个很好的例子。 在线上有很多教程,介绍如何使用界面生成器来设置UITabBarControllers,但是最好也知道如何从头开始构建它。 实际上很简单! TabBarController 苹果给出了惊人的描述。 您可以使用标签栏控制器将您的应用组织为一种或多种不同的操作模式。 标签栏控制器的视图层次结构是自包含的。 它由选项卡栏控制器直接管理的视图和由您提供的内容视图控制器管理的视图组成。 每个内容视图控制器管理一个不同的视图层次结构,选项卡栏控制器协调视图层次结构之间的导航 因此,让我们开始吧! 我们将对UITabBarController进行子类化,以便轻松识别谁在管理选项卡。 因此,在Xcode中,继续创建一个名为TabBarController的新Swift类。 附带说明,请确保在启动用于编程视图控制器的Xcode应用程序时更新AppDelegate和info.plist。 使用NSLayoutAnchor删除情节提要 界面生成器是Apple提供的出色工具。 但是,了解… medium.com 的程序化方面也很重要 查看控制器 本质上,我们所需要做的就是创建视图控制器的实例,并将其分配给viewControllers属性。 因此,让我们首先创建将连接到tabBarController的视图控制器。 继续并创建DownloadsViewController,BookmarksViewController和收藏夹视图控制器。 在每个视图控制器中,更新viewDidLoad以更新视图的backgroundColor和title。 下面的示例适用于DownloadsViewController,但是BookmarksViewController和favoriteViewController应该分别具有标题Bookmarks和收藏夹。 view.backgroundColor = UIColor.whiteColor() self.title =“下载” 在TabBarController的viewDidLoad中,添加以下内容 让downloadViewController = DownloadsViewController() downloadViewController.tabBarItem = UITabBarItem(tabBarSystemItem:.Downloads,标签:0) 让bookmarkViewController = BookmarksViewController() bookmarkViewController.tabBarItem = UITabBarItem(tabBarSystemItem:.Bookmarks,标签:1) 让收藏夹视图控制器=收藏夹视图控制器() favoriteViewControllers.tabBarItem = UITabBarItem(tabBarSystemItem:.Favorites,标签:2) 让viewControllerList = [downloadViewController,bookmarkViewController,favoriteViewControllers] viewControllers = viewControllerList 注意,我们正在设置每个viewController的tabBarItem。 […]

仅iPad,gamedev-第二周-工具和应用程序

让我们谈谈在接下来的几周中将对本实验有帮助的工具! 首先,让我展示一下除了iPad Air(第一代,16 Gb,仅Wi-Fi)之外还将使用什么硬件。 由于打字将是游戏开发的重要组成部分,因此除非您是屏幕上的好打字员,否则我们必须拥有实体键盘。 我的选择是Anker超薄键盘盖 –轻巧,电池续航能力良好(待机时间将近6个月!),而且虽然嘈杂,但打字起来确实不错。 对于将要创建的某些艺术作品,例如图标,营销艺术或游戏故事,我建议使用Wacom Bamboo Stylus ,如果您不将任何新的iPad Pro版本与Apple Pencil一起使用,那真的很好。 这个集合很简单,但是足够有效地处理工作。 在软件方面,我希望只使用免费的应用程序,但最终没有找到付费应用程序的良好替代品,因此,清单中的一些应用程序必须以物有所值的便宜价格购买。 当然,您可以根据需要使用任何应用程序作为工具,这些只是建议,也是我在实验期间将使用的那些应用程序。 为了处理文件(这里不再讨论iOS如何处理文件,必须使用它),我将结合使用Google Drive , Dropbox和Documents 5 。 云应用程序将授予我的同步私有服务器上文件的备份。 文档将有助于下载文件,并在必要时将其移至云中。 您可以使用其他更适合您工作方式的应用程序。 在美术创作上, Sketchbook擅长使用手写笔,并且可以生成高质量的图像以供以后导出。 像我喜欢游戏中的老式外观一样, Pixaki可以让我创建游戏中的像素艺术(让我记得我的第一个Atari)。 两者也可以结合在一起,具体取决于您的游戏风格。 如果需要, Pixlr只是用来裁剪生成的图像。 正如您可能猜到的, GarageBand将用于创建游戏的音乐。 我更喜欢使用循环来创建它们,但是,如果您有音乐技能,可以肯定会使用其他工具来制作更好的歌曲! 对于开发人员而言, Koder是一款非常不错的软件。 与云存储,FTP,WebDAV很好地集成; 对于各种编程语言,语法要突出显示,对于本地文件(充当本地服务器),要具有良好的“预览”功能。 它仍未针对大型Pro(开发人员正在对其进行优化)进行优化,但其工作原理却很吸引人。 我认为很多人都了解Workflow及其工作方式。 如果不这样做,可以通过一种非常简单的方式自动处理任务,将其视为iOS的automator。 如果您只想在日常工作流程中使用iOS,则必须习惯一个事实,即它不是(可能还)不能为您做很多事情的工具。 如果您习惯了iOS处理文件的方式,并且会在短时间内适应它,那么这些应用程序的混合不会对您造成影响。 下周,我们将为游戏准备基础,并提供一些文件和图像进行测试。 敬请关注!

Keepsafe Unlisting在这里

在Keepsafe,我们的使命是使所有人的隐私和安全变得简单。 现在,人们比以往任何时候都需要易于理解的解决方案来控制其数字隐私。 今天,我们推出了一个名为Keepsafe Unlisted的新iOS应用程序:私人文本和电话的短期和长期电话号码,以保护您的个人信息。 随着Keepsafe Unlisting的推出,我们欢迎另一种产品进入我们的简单隐私解决方案系列。 近年来,我们开发了Keepsafe Photo Vault,以帮助人们保护其设备上的私人照片和视频。 我们制作了Keepsafe App Lock,以保护人们的移动应用程序。 去年,我们推出了Keepsafe VPN,以帮助人们安全和私密地浏览。 随着Keepsafe Unlisted的推出,我们还宣布了Keepsafe的第一笔战略收购。 Keepsafe最近收购了广受欢迎的iOS应用LineLine(对我们这个神话般的创始团队来说是幸运的)。 LineUp具有我们敬佩的特征:它优雅地解决了人们迫切需要的隐私保护,其应用程序设计易于使用,并且定价透明。 今天,我们已将LineUp更名为Keepsafe Unlisted。 每当您创建一个Keepsafe帐户(无论是用于Photo Vault,App Lock,VPN还是未列出)时,您的帐户都可以在我们所有的应用程序中使用。 Keepsafe Unlisted还具有一个新的应用程序图标,Keepsafe的标志外观和更加直观的设计。 不公开的工作方式如下: 1.在美国或加拿大的任何位置选择电话号码。 2.轻松发送和接收私人文本和照片。 3.通过呼叫转移和语音邮件等功能来控制您拨打和接听的VoIP呼叫(并且永远不会出现在电话账单上)。 4.根据需要购买文字和电话信用。 使用该应用的人告诉我们,“不公开”通过以下方式保护他们在当今世界中的地位: 在网上约会或买卖时保持安全。 将个人生活和工作生活分开。 出差,开展业务并培养与国外的人际关系。 每个人都应该能够在控制他们共享的个人信息的同时,享受健壮的在线生活,无论他们身旁还是像数字游牧民一样生活。 这就是为什么我们通过Keepsafe Unlisted将第二个电话号码和刻录机电话应用程序纳入主流的原因。 这是人们保护自己的身份和个人隐私的新途径。 我们想听听您如何使用“不公开的Keepsafe”,以及我们如何改进产品并满足您的其他隐私需求。 加入Keepsafe的隐私权运动,对我们的产品进行Beta测试,并与我们谈谈您的体验。 Keepsafe的收购和Unlisted的推出仅仅是我们实现愿景的开始。 在接下来的几个月中,我们将把Unlisted引入Android,并增加更多的隐私和安全功能。 最好的还在后头!

没有捆绑包URL

在为React Native iOS创建生产构建后,恢复开发时可能会出现No Bundle URL Present 为React Native iOS应用程序创建生产版本的说明位于此处的文档中,在“ 构建用于生产的应用程序 ”部分下。 但是,当您回到开发环境时,您将不得不回溯您的步骤,或者换句话说,撤消所做的事情。 手动创建生产版本的两个步骤是 启用应用传输安全 配置发布方案 这些说明非常简单易懂。 但是,取消步骤Enable App Transport Security有点麻烦。 如果操作不正确,您可能会遇到以下错误消息。 在Info.plist文件中正确重置NSAppTransportSecurity时,很容易引起语法错误和类似错误。 我发现将默认代码剪切并粘贴回Info.plist最简单。 我将Sublime用于文本编辑器。 以下是使用React Native创建项目时Info.plist文件中的默认配置。 这是我粘贴回去以消除“ No Bundle URL Present”错误的代码。 NSAppTransportSecurity NSExceptionDomains 本地主机 NSExceptionAllowsInsecureHTTPLoads 有关应用程序传输安全性的详细说明,请参阅Steve Peterson的这篇文章。 Info.plist文件通常可以位于您的React Native项目根目录/ios//Info.plist中。 如果您习惯使用Xcode,则可以从Xcode编辑Info.plist。 最后,此解决方案仅用于手动配置,而React Native CLI不使用。

戴夫·托马斯(Dave Thomas)的数据修补Kata的快速解决方案,第1部分

戴夫·托马斯(Dave Thomas)的数据修补Kata的快速解决方案,第1部分 我正在Swift中解决Dave Thomas的代码问题,并将分享我的思考过程和解决方案。 以下是我对“数据整理” kata [项目回购]的第1部分的解决方案。 挑战在于分析一个混乱的,真实世界的数据集。 在weather.dat中,您将找到2002年6月在新泽西州莫里斯敦的每日天气数据。下载此文本文件,然后编写程序以输出温度分布最小(最大温度为第二列)的天数(第1列)。 ,最小的第三列)。 为了摆脱不需要的列,removeUnneededColumns()在每行上循环并仅保留前三个单元格。 该方法可以正常工作,但是很丑陋,需要改进(有什么建议吗?)。 注意,并非我们的所有数据点都是“干净的”,有些包含垃圾信息,例如“ *”。 为了在cleanData()中解决此问题,我们创建了一组无效字符并将其删除。 让invalidCharachters = NSCharacterSet(charactersInString:“ 0123456789。”)。invertedSet 要注意的另一件事(我在此kata之前就很模糊)是,当您在Swift中嵌套了高阶函数时,就无法使用简写语法(例如array.map {$ 0 * 2}),您需要列出参数并使用“ in”关键字 气象记录评估员 现在,我们已经加载了数据,对其进行了整理,对其进行了清理,并将其转换为WeatherRecords数组,我们需要找到温度变化最小的日期。 由于WeatherRecord结构具有计算的属性temperatureDelta: var temperatureDelta:Double { 返回maximumDailyTemperature — minimumDailyTemperature } 我们需要做的就是遍历记录并找到增量最小的记录。 minElement()方法将执行此操作(请注意,由于我们不使用嵌套闭包,因此我们将返回使用更简洁的$ 0,$ 1语法)。 执行者 现在,我们拥有解决此kata所需的所有组件,我们只需要将它们放在一起并获得正确的答案。 我们将使用一个Executor结构来执行此操作,该结构使用先前方法的输出来调用每个方法并返回答案。 execute()的单元测试还充当集成测试,用于验证一切是否按预期进行。 我将在本系列的其他kata后面编写我的解决方案和思考过程。 请让我知道什么有用,什么没用。 另外,我很想听听您关于如何改进代码任何部分的想法。

是孩子们的“快速游乐场”吗?

老实说 第一次在iPad上启动Swift Playgrounds时,我回到了我的四年级老师Mead夫人第一次给我看电脑的时候。 当然,“学习代码”教程比使用徽标要酷得多。 而且,Byte比我年轻时的乌龟还酷,而且更具表现力,但是感觉是一样的。 这种兴奋是我很多次都没有感受到的,iPhone的引入是一个明显的例外。 Playgrounds Books示例很酷,我期待孩子们学习使用此工具进行编码。 不过,那只是冰山一角。 例如,这是Playgrounds支持的部分框架列表: AVKit 帐目 音频单元 加速 音频工具箱 AVFoundation 核心文字 CF网络 核心图片 CoreGraphics 核心数据 核心音频 核心运动 核心位置 核心蓝牙 达尔文 调度 外部配件 GLKit 游戏套件 游戏控制器 图像IO 金属套件 金属性能着色器 媒体播放器 MobileCoreServices 多点连接 OpenGLES 相片 摄影套件 石英核心 快速浏览 重播套件 社会的 SpriteKit Safari服务 WebKit Swift Playgrounds是为孩子而设计的…… Swift Playgrounds也适合我。

在编写第一个Swift应用之前要观看四个视频

在5到10年内,Swift将成为每个人用来编写软件以与其IoT Toaster API交互以及如何与有意识的移动机器人竞赛进行通信的语言。 建立您的Swift技能为这个光明的未来做准备将很有用。 Paul Hudson是Swift教程的Doctor Doctor Who。 他必须在家中有某种Tardis,以便一次又一次地返回以产生他投放的内容的数量。 [在此处插入声波螺丝起子和迷人的英国参考资料] 从保罗·哈德森本人手中。 本课程是为期一天的密集课程,旨在帮助您快速开始开发应用程序:即使您以前从未使用过Swift,也将从头开始构建真正的应用程序。 是的,您将学到大量的Swift,但是您还将学到Xcode,UIKit,调试等等。 前进。 我会等。 迅捷:英雄零 您现在知道了Swift。 但是您要求更多。 您想学习如何构建出色的iOS应用程序。 我们为什么不从一些高级话题开始。 让我们看看在不同平台上可能发生的事情,然后从那里开始,让您的想象力飞涨。 让我们从小处开始。 38mm小。 尽管很小,但Apple Watch并不是一个易于构建的界面。 克里斯蒂娜·泰(Kristina Thai)将其提炼成一段精彩的谈话,您可以在午餐时间观看。 这包括手表可访问性,动画数据和文件传输(手表连接性),最佳电池性能和听写功能。 我还将研究并发症的最佳用途(手表主屏幕上的小部件),以及如何使用ClockKit框架来更好地满足开发人员的需求。 如何构建引人注目的手表应用程序/功能 好。 现在更大。 这个要深入一点,但让我们避开细节,而专注于iOS之类平台的可能。 阿萨夫·吉尔伯(Assaf Gelber)将您拖到导航兔子洞中,以便您可以清楚地了解实际应用程序如何处理从A-> B中获取用户的问题。 准备深入探讨栈,标签,segue和条形按钮项的海洋,因为此演讲的全部内容是探索如何构建合适且可维护的体系结构以在应用程序内导航。 导航的侵入式调查 更大! 同样,上下文是我们追求的目标。 您不必学习SpriteKit,但是通过Craig Clayton的本课程学习将使您对可能的想法有所了解。 在本研讨会期间,我们将努力为Apple TV制作一个名为SoccerPong的游戏(经典Pong游戏中的扭曲)。 无论您是否有使用Swift的经验,本研讨会都将帮助您启动第一个应用程序。 雪碧套件和Apple TV 您已经凝视着大海,露出正在发展的冰山。 你从这里去哪里? 这里有一些想法: 建立东西! 打开Xcode,单击“创建新的XCode项目”,选择“单视图应用程序”,然后开始拖动内容。 要么… 下一步:中级/高级快速。

Flutterのアプリアイコンを环境ごとに分ける

本记事では,Flutterのアプリアイコンをンを环境ごとに分ける简単な方法について绍介します。 アプリアイコン以外全般については,iOSメインですが以下をご覧ください。 Flutterで环境ごとにビルド设定を切り替える— iOS编 最低限度,以下くらいには分けると円滑に开発・テスト・リリースができます。 flutter_launcher_iconsを利用 Flutterには,flutter_launcher_iconsというiOS ・ Andoidアプリアイコンを生成するとても便利なツールがあります。 flutter_launcher_icons | 飞镖包 flutter_launcher_icons Dart软件包–该软件包简化了更新Flutter应用的启动器图标的任务… pub.dartlang.org fluttercommunity / flutter_launcher_icons Flutter启动器图标–一个软件包,简化了更新Flutter应用程序的启动器图标的任务。 完全… github.com 基本的な使い方は以下です。 1.インストール #pubspec.yaml dev_dependencies: flutter_launcher_icons:“ ^ 0.7.0” 2.设定を记述 #pubspec.yaml(flutter_launcher_icons-development.yamlでも良い) flutter_icons: image_path:“ assets / images / icon.png” android:true ios:是的 もっと细かい指定も可能ですが,READMEを见てください 3.画像ファイルを配置 上で指定したimage_pathの场所にアイコンに指定したい画像ファイルを置く。 4.コマンド実行 $ flutter包pub运行flutter_launcher_icons:main 风味ごとにアイコンを変える そして,本题のFlavorごとにアイコンを変えるやり方です。 以下のPull Requestで対応された机能ですが,まだ使い方のサンプルなど整っておらず, masterではなくflavorブランチに隔离されています。 通过sestegra读取风味图标文件·提取请求#69·fluttercommunity / flutter_launcher_icons 预期文件如下:flutter_launcher_icons.yaml或pubspec.yaml,来自默认图标flutter_launcher_icons… github.com […]