Tag: Ios开发

适用于iOS的Material Showcase

基于Material Design Guidelines的iOS应用的优雅美观的水龙头展示柜视图库。 介绍 在开发跨平台应用程序时,应将统一的UI / UX置于较高优先级。 当我们实施“功能发现”以指导用户首次浏览我们的应用程序时,我们的设计师决定遵循材料设计准则。 Android团队感到很自在,因为那里有一些流行的库(例如TapTargetView或MaterialTapTargetPrompt)开始。 相比之下,对于iOS版本,它需要我们的工作来从头开始实现,因为没有现有的库可以满足我们的需求。 因此,我们计划将其构建为一个开放源代码库,其他开发人员也可以使用它。 结果 通过仔细遵循Google Material页面上有关UI优点和动画的详细指南,我们得到了如下结果。 您可以使用CocoaPods轻松将其添加到iOS应用中。 材质展示柜 iOS应用的优雅美观展示。 cocoapods.org 或者,您可以从Github存储库包装其源代码并将其放入您的项目中。 aromajoin / material-showcase-ios material-showcase-ios – iOS应用程序的优雅美观的展示柜。 github.com 特征 支持任何UIView 提供便捷的方法来快速与特殊的UI组件(UIBarButtonItem,UITabBarItem,UITableViewCell)进行交互。 轻松自定义主题和动画。 有关更多信息,请在Github存储库中进行检查。 贡献 我希望它不仅是第一个“ Material Feature Discovery” iOS库,而且希望它成为减少iOS开发人员工作的简单,优雅且可靠的组件。 如果您发现它有用并且想做出贡献,请在Github上查看它,所有拉取请求都非常感谢。

Swift 4中的iOS UIKit:使用UITextChecker进行拼写检查

预习 资源 项目 https://github.com/calmone/iOS-UIKit-component 参考 UITextChecker https://developer.apple.com/reference/uikit/uitextchecker UITextField https://developer.apple.com/reference/uikit/uitextfield 快乐编码😄

Swift 4中的iOS UIKit:显示UISwitch

预习 资源 项目 https://github.com/calmone/iOS-UIKit-component 参考 UISwitch https://developer.apple.com/reference/uikit/uiswitch 快乐编码😄

Swift 4中的iOS UIKit:安装UIBarButtonItem

预习 资源 项目 https://github.com/calmone/iOS-UIKit-component 参考 UIBarButtonItem https://developer.apple.com/reference/uikit/uibarbuttonitem UINavigationController https://developer.apple.com/reference/uikit/uinavigationcontroller UIViewController https://developer.apple.com/reference/uikit/uiviewcontroller 快乐编码😄

为什么Apple的应用内购买订阅模式对所有人都有利!

最近的报告( Kif Leswing @商业内幕 和 John Gruber @Daring Fireball )表示,苹果正在游说独立开发商,将其从传统的一次性购买费用切换为基于定期费用(按月,按年等)的订阅模式。 讨论的重点是提供持续服务的付费应用程序,其中用户费用是应用程序开发人员主要的收入来源(例如,生产力,实用程序应用程序,游戏等),不包括通过以下方式提供间接收入的免费应用程序:他们对开发者的基础业务的支持和/或基于广告(例如大型社交媒体应用程序和饭店订购应用程序)。 在Blue Rocket,我们欢迎这一发展,因为各方最终都会从中受益—用户,开发人员和Apple。 为什么是这样? 好吧,让我们从User开始。 这是真的; 用户将拥有 至 多付钱。 那么,为什么支持转向基于订阅的服务符合他们的利益呢? 增加的成本将为他们目前没有的用户提供什么? 经常使用或非常专业的应用程序(特别是购买的)对用户很重要。 它可能是一个生产力或实用程序,用户花费了时间和精力进行设置,因此可以满足他们及其特定需求; 还是提供定期和及时信息的应用程序; 或者,它可以随着时间的推移以独特和新颖的方式提供工具或服务。 无论如何,用户都有强烈的动力来确保应用程序继续运行。 订阅自己喜欢的应用程序将有助于确保该应用程序继续运行和改进。 用户继续使用该应用程序将成为开发人员的动力,而开发人员又将努力整合新功能以保持用户对服务的参与。 从本质上讲,订阅是一种保险政策,可确保应用程序继续令人愉悦。 一笔小投资就能获得丰厚的回报。 订阅自己喜欢的应用程序不会花费大量金钱。 每月或每年几美元的可能性更大; 持续为自己喜欢的应用提供服务的费用很小。 订阅如何帮助Developer ? 显然,创建和启动新应用程序要花钱,但是随着时间的推移,支持该应用程序的成本通常会被忽略,低估或忽略。 这些费用包括: ·软件维护,通过每年更新和淘汰新的手机型号和操作系统,开发人员可以主动确保应用程序继续正常运行。 ·支持应用程序及其用户的基础架构成本,例如云服务(服务器和存储)以及其他第三方附加组件,例如通知,地图数据等。 这些是使应用程序始终处于最佳状态的不可协商的基准成本 。 随着时间的流逝,用于增强应用程序以及营销等方面的必要资金是额外的,可酌情决定的。 考虑到这一点,立即清楚的是,收取一次性费用的开发人员将需要继续寻找足够的新客户以支付持续的维修费用,同时又要在一段时间内收回其初始投资。 或者,订阅费用模型通过为开发人员提供来自现有客户的经常性收入流来提供经济上的缓解,因此有更好的机会收回其初始成本以及随着时间的推移维护应用程序的成本。 换句话说,这意味着开发人员可以卖出更少的应用程序以达到收支平衡,或者保持销售不变,就可以将更多的收入用于未来的应用程序增强和营销。 这把我们带到了苹果公司 。 撇开苹果是否需要帮助的任何讨论,鼓励订阅模式是明智的业务,其理由与开发人员的观点几乎相同。 苹果公司拥有一个庞大且规模不断扩大的在线应用商店,其运行成本很高。 如果开发人员只为他们的应用获得一次报酬,那么苹果公司也是如此。 如果开发人员具有基于订阅的收入,那么苹果公司也是如此。 请注意,苹果公司希望通过在订阅第一年后将开发者销售费用从原来的30%减半到一半,从而为开发者提供让步。 我们相信,鼓励订阅将长期帮助所有参与者,将导致应用程序的持续改进,移动解决方案的新创新,并最终将确保确保每个人都可以使用丰富的应用程序生态系统。 有许多历史原因导致应用程序订阅没有尽快发生-在某一时刻,不存在应用程序内购买,并且一次性付款是唯一的选择。 但是,推广和采用订阅的时机已经到来,或者可以说已经过期了。 […]

Swift 4中的iOS UIKit:显示UIActivityIndi​​cator

预习 资源 项目 https://github.com/calmone/iOS-UIKit-component 参考 UIActivityIndi​​catorView https://developer.apple.com/reference/uikit/uiactivityindicatorview 快乐编码😄

Swift 4中的iOS UIKit:具有UIImage的图像透明度

预习 资源 项目 https://github.com/calmone/iOS-UIKit-component 参考 UIImage https://developer.apple.com/reference/uikit/uiimage 快乐编码😄

iOS中附件视图的动态高度

大家好! 我希望你们都做得很好,所以很长一段时间以后,我将开始写一个关于附件视图的博客。 如果您熟悉附件视图的概念,则可以跳过介绍性部分,直接跳至实现它的实际部分;如果您已经在聊天应用程序中实现过它,则可以再次进行以下操作。出来。 介绍: 我认为大家都在使用Whatsapp或Facebook Messenger等聊天应用程序。 因此,毫无疑问,您已经看到了Accessory视图,但可能不知道 如果您使用诸如Whatsapp和Facebook Messenger之类的IM应用程序,则可能已经看到了Accessory视图,尽管您可能并不知道它被称为。 因此,在大多数情况下,IM应用程序中的附件视图就是您编写消息以将其发送给您的联系人的区域。 技术观点: 将自定义视图附加到系统提供的输入视图,即键盘是附件视图。 进行聊天应用程序输入的另一种方法是将视图放置在视图控制器的底部,并将其底部约束更改为键盘的高度,这不是实现聊天UI的好方法。 让我们深入一些实用的食谱recipe 因此,众所周知,首先创建Xcode项目。 为其命名,并为其指定一个很好的Bundle标识符。 之后,使用GrowingTextView库,它将提供一些帮助来自动给出textView中文本的高度值。 如果知道CocoaPods { 吊舱“ GrowingTextView” }其他{ //链接:https://cocoapods.org/ } 现在,在viewController内部插入一个tableview,如下图所示: 现在,创建一个UIView类型的新文件(.xib文件)并将其命名为ChatAccessory 并选择xib视图并转到属性检查器,并将其大小更改为自由格式,以便您可以根据需要更改其大小。 现在像在Whatsapp或Facebook中那样设计用于输入文本的视图以发送消息。 我将设计一个简单的设计,如下所示: 在ChatAccessory视图内拖动一个textview,并给它一个自定义的GrowingTextView类。 然后拖放UIButton并将约束应用于按钮,例如 尾随= 0,底部= 0,高度= 56(请勿将顶部约束应用于视图) 然后将约束应用于textview,例如前导= 16,底部= 8,顶部= 8以及尾随空格到UIButton为8 然后,我们必须通过属性检查器为textview设置最小和最大高度。 提供按钮高度= 56 =附件的最小高度 文字检视最小值 高度= 56-(textview的顶部约束+ textview的底部约束) 文字检视最小值 高度= 56-(8 + 8)= 40 最高textview 高度= […]

Swift 4中的iOS UIKit:使用UIWebView打开PDF

预习 资源 项目 https://github.com/calmone/iOS-UIKit-component 参考 UIWebView https://developer.apple.com/reference/uikit/uiwebview UIButton https://developer.apple.com/reference/uikit/uibutton UIActivityIndi​​catorView https://developer.apple.com/reference/uikit/uiactivityindicatorview 网址 https://developer.apple.com/reference/foundation/nsurl NSURLRequest https://developer.apple.com/reference/foundation/nsurlrequest 快乐编码😄

Xcode用于快速Swift构建的新构建系统

注意:这篇文章最初是在XCBlog上发布的,请阅读原始文章以获得更好的图形,并且 这里 不会遗漏任何内容 Apple通过Xcode 9在WWDC 2017上宣布了新的构建系统。新的Xcode构建系统是完全从头开始编写的,完全是用Swift编写的。 但是,由于某些原因,默认情况下未启用它,并且可以将其用作预览。 苹果表示,他们将使其在更高版本的Xcode中成为默认设置。 这意味着我们将来必须毫无疑问地接受此构建系统。 在这篇简短的文章中,我们将看到如何使用Xcode New构建系统来加快iOS应用的Swift构建时间。 是。 他们称之为“ Xcode新构建系统”,他们想不出该构建系统的正确名称。 为了了解有关Xcode新构建系统的更多信息,请不要观看WWDC 2017会议“ Swift的新功能”,新发布的版本将在该会议上宣布。 这个人实际上只花了40秒钟来谈论新的构建系统,所以在那里没有什么可学的,相反,谷歌搜索它或继续阅读这篇文章。 Xcode 9+中提供了新的Xcode构建系统。 作为iOS工程师,您可能白天要按CMD + B或CMD + R数百次,并且长时间观看Xcode编译这些内容。 当前,Xcode默认使用“标准构建系统”,这在编译Swift项目时有点慢。 为了改善Swift项目的编译和构建时间,苹果推出了这种全新的“新构建系统”,有望在性能和依赖管理等领域取得进步。 根据Apple关于Xcode 9新增功能的文档,新的构建系统应该能够 提供更高的可靠性 捕获项目配置错误 提高整体构建性能 我们可以通过多种方式为iOS项目启用新的构建系统。 从Xcode本身启用新的构建系统是一个好主意,以便我们在开发应用程序时可以使用所有功能。 使用Xcode 9,启用新的构建设置非常容易。 您可能有Xcode项目或项目的Xcode工作区,在Xcode中, 选择File-> Project / Workspace Setting。 您将看到一个“构建系统”选项以选择新的构建系统,如下所示 启用此功能后,您应该会看到蓝色的锤子。 如果要使用xcodebuild从命令行构建iOS项目,那么我们必须传递附加参数-UseNewBuildSystem = YES还将强制使用新的构建系统。 如果您正在使用Fastlane Gym构建项目,那么我不确定该附加标记是否已在Gym中实现。 按照这种令人困惑的推文,苹果公司的工程经理负责管理新的构建系统项目。 我们还可以使用Xcode 9.2+中的标志启用新的构建系统 $默认写入com.apple.dt.Xcode BuildSystemScheduleInherentlyParallelCommandsExclusively -bool否 […]