Tag: 应用开发

UILayoutGuide

快速说明-我将来所有的帖子都将发布在我的专用网站上,并且此出版物不再更新。 谢谢阅读! 令人惊讶的是,我们不久之前就生活在一个“自动布局”世界中。 自动调整遮罩大小和CGRectMake()统治了相当长一段时间的用户界面开发领域。 但是随着苹果设备开始堆积各种点大小,很明显,开发人员要么陷入痛苦,要么因过多的框架计算而陷入困境,要么接受描述关系的力量。 后者显然胜出。 因此,自此以来,Auto Layout就一直被使用,DSL和批评。 但是,随着它的兴起,另一种布局范例也应运而生。 “间隔”视图。 或虚拟视图。 容器视图。 无论您怎么说,我们都使用过它们。 但是苹果公​​司说,有一种更好的方法。 本周,让我们聊天UILayoutGuide 。 但是,虚拟景色岩石(…并且我同意) 虚拟视图非常好地解决了一些布局问题。 这就是为什么我们都使用它们。 表达视图间的关系,创建用户界面的模块块或定义约束以表达视图之间的空白空间的坐标或大小,所有这些都称为虚拟视图。 实际上,即使只是希望将一组控件放在特定坐标空间的中心,也常常使用虚拟视图来包含它们。 这样,许多重要的工作都被委托给了一个从来没有真正去做任何事情的结构。 如果您反对这种想法,请问自己一个视图在iOS应用程序中的实际作用。 或者更好的是,让文档讲故事: 视图对象在其边界矩形内呈现内容,并处理与该内容的任何交互。 视图是UIResponder的子类,可以响应触摸和其他类型的事件。 因此,几乎无可辩驳的是,视图的重要组成部分是视图,即渲染事物和处理事件。 虚拟视图,尽管它们是视图,但最好不要参与其中的任何活动,最坏情况下不要参与其中的一些活动。 使用虚拟视图,我们已经 产生仅有助于定义布局的视图的成本。 添加了视图层次结构的第一类成员,加入了可能与之相关的任何任务相关的所有开销。 并且作为响应者链的一部分,它可以拦截一些原本不想处理的消息。 😬。 在那里,但不是真的 但是,布局指南既不是这些东西,也不会遭受任何这些问题的困扰。 这是一个非渲染视图,非常类似于其更强大的表亲UIStackView 。 与真实视图不同,布局指南实际上并未定义视图。 取而代之的是,它仅代表其拥有的视图的坐标系中的矩形区域。 而已。 这就是它与自动版式进行交互的原因。 该API紧密地(有意地)镜像视图的镜像: 让scrollView = UIScrollView()//代替这个… 让containerView = UIView() scrollView.addSubview(containerView)containerView.widthAnchor.constraint(equalTo:scrollView.widthAnchor).isActive = true containerView.heightAnchor.constraint(equalTo:scrollView.heightAnchor).isActive = true containerView.leftAnchor.constraint(equalTo:scrollView.leftAnchor).isActive […]

我打算如何从应用程序创意转变为可行的原型(食品技术)

我现在有什么 工作API 我在Ionic上构建的应用示例 我需要的每个页面的屏幕 我可以使用高级设计模板来创建某种设计。 项目管理计划(您已阅读。) 我有测试数据 可以使用Loopback API(IBM)帮助完成注册 您可以看到–之前已经解决了很多问题。 我们需要解决这个问题 我们将如何创建,提交和托管应用程序? 我们将如何处理订阅(付款)? 确定我们需要博客功能吗? 增加送餐会很酷,但是Instacart没有回复他们的营销电子邮件🙁 我们必须具有针对不同美食,过敏(其他类型)的过滤器。 我们如何使用应用程序UI使其变得简单? 我当时正在考虑为用户提供一种创建和发布自己的食谱的能力。 很酷的功能,对吧? 我们可以添加分析并了解用户如何喜欢或使用我们的食谱吗? 我们如何处理应用程序内部的支持内容? 在接下来的版本中,我们必须将杂货店管理添加到类别中。 也许添加厨房管理 我想添加一个预算计划者。 重要并且将是一个好功能吗? 0)自由食谱 1)每周菜单 1.2)杂货清单 2)认证 3)付款 4)搜索 5)导入配方 6)完善的膳食计划程序软件 自由食谱版本 食谱清单(每周菜单模拟) 带有图片的应用简介(显示内容完成,测试其工作方式,完成js,因此应用简介仅打开一次)。 挑选的图像。 控制器已添加。 内容已选取。 没有按钮的杂货清单-长清单 复杂配方 将样式移到适当的位置 添加材料设计版本以获取免费菜单版本 将JSON中的步骤更改为路线 每周餐(alpha) 膳食计划类型(无过敏,无麸质,两人做饭,有孩子的家庭(主要选择)) 样本菜单(不同类型) 复杂配方 复杂的JSON解析 主JSON文件中的杂货清单 杂货清单模板2 –长滚动列表,所有类别都在一页中(过滤器/搜索将很酷) 杂货清单设置和食谱日历 主JSON文件中的每周菜单 图片介绍 […]

Swift for iOS中的单元测试-完整指南

了解如何实施单元测试。 在我以前的文章中,我们讨论了什么是单元测试以及为什么要在iOS开发中包括它。 在本文中,我将使用一个非常基本的示例介绍如何在Swift中编写测试类和方法。 创建一个项目: 如果创建一个新项目: 开启Xcode 创建一个“单视图应用程序”,并根据需要命名。 就我而言,它将被命名为UnitTestExample。 点击“包含单元测试” 打开一个现有项目 如果打开没有添加单元测试的现有项目: 转到“项目设置” 确保选择了主要目标 单击底部的“ +”按钮。 选择“ iOS单元测试包”,然后单击“下一步”。 现在,您应该已经添加了测试类文件。 您还将在目标列表中看到测试目标。 让我们打开ViewController文件并编写一个简单的扩展名。 扩展Int { func Cube()-> Int { 返回自我*自我*自我 } } 此扩展名返回一个整数的立方。 现在,让您在测试类文件中使用XCTest测试此扩展。 使用前面的步骤添加测试类文件时,它会自动生成一些方法,包括“ setUp”,“ tearDown”,“ testCaseExample”和“ PerformanceExample”。 我们将在本文的稍后部分介绍每种方法。 现在,我建议您删除XCTest类中的所有内容。 现在,将其替换为以下代码。 导入XCTest @testable导入UnitTestExample class UnitTestExampleTests:XCTestCase { func testCube(){ 令val = 4 让res = val.Cube() XCTAssertEqual(res,64) } } […]

使用Swift创建篮球模拟应用程序:第2部分

让我们继续建设篮球。 欢迎回到篮球应用项目。 您可以在这里继续学习第1部分。 如果您还记得我们上次离开的地方,我们已经成功创建了用于模拟篮球比赛的Player,Team和Game类。 比赛由两支球队共同进行,他们都有机会得分。 我们可以进行一些比赛,并获得最终的比分: 但是,仍有许多工作要做。 以下是我想到的一些问题: 我们可以用名字来个性化我们的团队吗? 我们也可以命名玩家吗? 我们可以建立一个盒子得分,看看谁在得分,每个球员得分多少? 从接下来的两个功能开始,我们还需要建立什么样的联赛呢? 我们可以跟踪每个游戏的结果,并在“赛季”结束时提供统计信息吗? 这些是本部分要完成的主要目标。 在我们深入探讨之前,我将提出一个非常酷的建议,即有人提出来支持模拟财产中的三分球目标。 此代码块由Aaron A提供: 我很喜欢这个主意。 但是,对于软件开发过程来说,我决定完全重新考虑playPossession 功能并重构代码。 您会稍等一下。 但是首先,我们需要一些非通用名称! 从上次打开我们的Swift项目开始,让我们开始吧。 为我们的篮球队和球员取名 我们需要一些随机的球员和球队名称。 我们可以将这些名称列表作为数组包含在Player类和Team类中,但是可能会出现问题。 我们可能需要特殊功能来生成普通数组无法处理的名称。 同样,通常,我们应该尝试从类中抽象出尽可能多的与玩家或团队的行为没有直接关系的功能。 让我们创建一个名为NameGenerator.swift的新文件。 我已经填写了一些: 好的,希望其中大部分是简单的。 我们在此列出了球员和球队的可能名字。 现在,让我们具体看一下这一行: Swift中的单例 这条线表示的是单例模式,这是一种常见的软件设计模式。 简而言之(也是因为我对此经验不足),它仅允许在应用程序的整个生命周期中创建和使用一个类的实例。 现在,这种模式将如何帮助我们? 当我们将名称分配给新创建的玩家时,我们不希望两个玩家使用相同的名称。 我们也不想让尼克斯与尼克斯对抗。 因此,我们将能够在单个NameGenerator类中跟踪未选择的名称。 现在,我们将添加功能来完全做到这一点: 基本上在这里,我们将从名称列表中获取,并将其从列表中删除,这样就无法再次选择它。 看起来很棒! 现在,我们将Player类和Team类的初始化更新为一个名称: 我们的第一个目标几乎完成。 最后,我们必须先初始化NameGenerator单例类,然后再开始仿真。 让我们在ViewController.swift文件的顶部进行操作: 现在我们可以在任何地方使用它了:)。 继续执行步骤2。 进行盒子评分 篮球比赛中的得分是两队比赛结果的摘要。 大多数禁区得分都包含诸如得分,篮板和助攻之类的信息,但我们暂时将其保持在得分上。 如果这样做的话,想想一个数据结构来表示我们的盒子分数很简单。 我们有球员,每个人都会得分。 因此,让我们将盒子得分存储为字典,其中玩家将是关键,而他们的得分将是值。 […]

在诺伊达选择适用于iPhone应用程序的iOS应用开发公司

ios是一种移动操作系统,主要为Apple制造的设备(如iPhone,iPad,iTouch和其他iOS支持的设备)设计和开发。 此移动显示系统由Apple INC创建。Nanoarch软件解决方案是noida中领先的iOS应用开发公司之一 严格按照苹果的概念工作的人。 我们拥有熟练且知识丰富的ios开发人员,他们精通目标C,C ++,Swift编程语言,在该语言中编写源代码来为Apple制造的设备创建ios应用程序。 创建应用程序的主要方式是什么? 根据ios应用程序的概念,我们使用ios studio创建苹果制造的设备。 我们还使用了ios SDK(软件开发套件),其中包括示例移动应用程序的源代码。 我们拥有熟练且知识丰富的ios应用程序开发人员,他们全面了解Swift,C,C ++来编写ios应用程序的源代码。 除此之外,我们使用了ios SDK(软件开发套件),其中包括示例ios应用程序的源代码,ios应用程序的运行和维护。 我们使用了所有最新的框架来创建ios应用程序。 这些框架包括用于设计和开发ios应用程序的xamarin,PhoneGap,CoronaSDK,JqueryMobile。 iOS应用程式的优点 与其他相比安全可靠 2.平稳运行 3.获取最新功能和更新 4.仅在苹果制造的设备上支持 除了所有这些,我们还是诺伊达最好的移动应用程序开发公司之一,适用于所有不同的平台,包括android,windows以及混合移动应用程序。

iOS应用开发对您的业务的好处

苹果已经通过其iOS设备创建了一个稳定的生态系统,因此在硬件和软件方面都吸引了众多忠实拥护者。 对于印度的ios应用程序开发公司而言,这使iOS成为极为有利可图的平台。 除了iPhone硬件本身非常受欢迎之外,iOS本身还是一个可以为您的企业发展的绝佳平台的原因很多。 安全 在当今广泛连接的时代,即使是最不了解智能手机的用户,安全性也是一个很大的问题。 对于企业来说,它应该是最高优先级。 保护企业的敏感数据免遭入侵对于企业至关重要,值得庆幸的是,iOS平台具有固有的安全性,可以使企业以安全的方式管理其数据以及客户的数据。 可扩展性 iOS应用程序的主要优点是它们在发布后具有极大的可扩展性。 只要硬件支持,随着平台的发展,就可以添加新功能和附加功能。 一致直观的用户界面 应用程序可以通过其用户界面生存或死亡,而且值得庆幸的是,Apple在用户界面方面已经设定了标准。 只需维护此用户界面,即可使应用程序直观且符合Apple的标准,从而减少用户在迷宫般的菜单中迷失的时间。 高投资回报 租用iPhone应用程序开发服务通常比在其他平台上花费更高,许多研究表明,iOS用户通常比其他平台上的用户在应用程序上花费更多。 这使收回投资的机会大大增加,从而使iOS平台利润丰厚。 安全交易 苹果公司一直非常重视安全性,并且由于存在iOS平台来出售应用程序,因此在智能手机上进行的交易数量已大大增加。 Apple已确保这些交易也很安全,因此企业在将其付款结构集成到应用程序中时应该没有问题。 品牌价值 人们信任苹果,无论是软件还是硬件。 这使在iOS平台上进行开发对于企业而言是一个好主意,因为人们会固有地信任Apple支持的平台上可用的应用程序。 这极大地有助于消除人们在购买手机之前的犹豫。 高品质的应用程序 对于商店中可用的应用程序,Apple有着极其严格的标准。 在选择让另一家公司为iOS平台开发应用程序之前,这应该使您放心,因为Apple不可能将不合格的产品上传到Apple Store。 如清单所示,虽然iOS开发可能会有一些负面影响,但专业人士所带来的后果却远远超过了其后果。 对于希望通过应用程序增强其产品的开发人员和企业而言,iOS平台仍然非常有利可图。

通过短信改进了即时视频— VioTalk视频聊天Messenger

自从我们在2011年成为Nitya Software Solutions的一部分以来,VioTalk一直在不断创新,不断增加新功能并改进现有功能,并专注于视频消息和服务的质量。 有时,应用程序的新更新很小,可以帮助我们更好地了解用户对它们的看法或我们如何不断改善用户体验。 视频通信是一种更快,更简单的方式,可以在几秒钟内传达您的消息,并在不存在存储和时间限制的情况下与世界各地建立联系。 使得Viotalk在同一时代的所有Messenger中都与众不同的一项最佳功能是即时云记录和共享,并消除了所有存储问题,并且通过安全消息传递用户可以使用任何移动设备发送即时消息和文件共享,并通过以下方式享受组消息传递支持共享任何大小的视频消息。 我们推出了令人兴奋和创新的iOS应用程序新版本。我们听取了用户的反馈,并引入了即时发短信功能,这使VioTalk只需“ 一个用于您所有通讯的应用程序 ”即可更轻松地进行通讯,并且我们优化了本机视频消息传递,以通过Rich更快地回复通知。 为了获得最佳的应用程序体验,我们始终处在持续不断的小改进的周期中。 VioTalk Now现在支持文件共享,您现在可以共享任何大小的图像和改进的用户帐户,并可以选择切换状态,让您的朋友了解您。 通过电子邮件,短信或您喜欢的社交渠道轻松共享视频。 我们的开发人员不断开发新方法以进一步改善体验。 即时发短信保护视频消息安全— VioTalk iOS: https : //itunes.apple.com/in/app/viotalk/id1061959728?mt = 8 Android: https : //play.google.com/store/apps/details?id = com.viotalk&hl = zh_CN

让我们动起来:React Native动画简介-第2部分

如果您想完全从头开始,这里是第1部分的链接,在第1部分中,我们使用LayoutAnimation动画了单个元素在屏幕上的重新放置。 让我们直接跳回去吧。 在本文中,我们将不再使用LayoutAnimation ,它是一个很好的工具,可用于在要更新的列表中重新定位元素,隐藏/显示菜单等,但是如果您希望动画中的粒度更详细些怎么办? 好的,这就是React Native的Animated API派上用场的地方。 让我们从上一篇文章中获取Jake,但让我们决定我们要让他旋转到位,并且还要基于某种状态来取消此旋转。 当然,随心所欲,但这是我的文章,所以我在这里负责。 我们将从第一部分结尾处的代码停止处开始,将Jake锁定在屏幕中央,添加某种状态以决定他是否在旋转,并摆脱一些按钮和其他一些按钮清理东西的线。 // App.js 从“反应”中导入React,{组件}; 导入{ 按钮 StyleSheet, 图片, 视图 }来自“ react-native”; 从“ ./jake.png”导入杰克; 导出默认类App扩展组件{ 构造函数(道具){ 超级(道具); this.state = { 旋转:错误 }; } render(){ 返回( <按钮 style = {styles.button} 标题= { this.state.spinning? “关闭旋转”:“打开旋转” } onPress = {()=> {}} /> ); } } const styles = StyleSheet.create({ 容器: […]

处理应用程序生命周期

嗨,我的IOS开发人员。 在这里,我将向您展示当应用程序从前台转到后台时,如何遮罩View(应用程序的当前屏幕)。 当回到前台时,您将看到实际视图。 在印度,当Paytm应用从背景和前景过渡时,您可以在Paytm应用中看到这种生命周期处理。 在Project App委托类中,我获取了带图像的imageView。 然后,在application(didFinishLaunchOptions)中添加了观察者。 因此,每当应用转换时,就会调用这些观察者,依此类推 取决于那些选择器,imageview将被添加到窗口根viewcontroller的视图中,并将被从超级视图中删除。 4.最后,我从applicationWillTerminate()方法中删除了观察者。 相当容易! 对??? 如果您知道任何更好的方法,请让我知道如何处理这种功能。 谢谢!! 如果您喜欢我的教程,请在媒体上关注我。 您可以通过我的推特或linkedIn帐户与我联系。 谢谢阅读。 很快就会有更多教程变得更好。 再见!!!

图书馆和数据库

事实证明,在各个幼儿园之间骑自行车游览并不是完成很多工作的好方法。 谁会打它呢? 昨天很有趣,但我仍然设法使清单上的至少一件事完整。 对我来说,这是一个胜利。 在昨天的帖子中,我提到了几天前所做的研究,试图为我的应用程序选择后端服务。 简而言之,我决定使用Google的Firebase产品,实际上是他们仍处于测试阶段的Cloudstore。 使用仍处于测试阶段的内容的想法可能会吓到某些人,或者使您怀疑我的判断。 但是,正如我现在已经明确指出的那样,我只是在此阶段瞄准最低限度可行的产品,而将整个产品基于beta产品的风险很小(没有?)。 我会让您知道,我对这一选择进行了很多思考,这可能比我的项目所需要的要多,而这在此时仍只是我的想象力。 我的研究确实做了一件很棒的事情,我发现它对未来充满了希望:编写自己的后端服务的想法听起来真的很有趣。 我读得越多,就越会深深地想到Firebase,Realm等解决方案非常适合以很少的时间和资源(我的实际情况)启动并运行某些解决方案。 对于大多数自定义操作,并且显然是独立的,编写自己的服务器端代码和API是理想的选择。 我只想为学习体验而尝试一下,再加上一些其他语言的介绍。 是的,我知道Swift也可以是服务器端语言,但是我想深入了解Python和Ruby,并了解它们可以带给我的力量。 我迫不及待地想要扩展我的工具箱,使其包含更多的语言,并对全栈有更多的了解。 当我说我的待办事项清单很长时,请相信我,最困难的部分是将我应该首先学习的内容放在优先位置。 就像我在上面说的那样,昨天并不是一个总的“损失”,而我用这个词是宽松的,因为我确实解决了自动布局所带来的一些问题。 仍然有一些警告,因此我想我仍然有很多事情要学习,但是我能够在所有iPhone屏幕尺寸上启动该应用程序,并且表现出我的预期。 结果,我今天可以继续进行一些严肃的编码。 大肆宣传!