在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之后,就会生成InterfaceController这个文件,它就是我们storyBoard中的入口视图控制器。
应用程序升级功能是App的基础功能之一,如果没有此功能会造成用户无法升级,应用程序的bug或者新功能老用户无法触达,甚至损失这部分用户。
前言 本系列是基于React Native版本号0.44.3写的。我们都知道,一个App不可能只有一个不变的界面,而是通过多个界面间的跳转来呈现不同的内容。那么这篇文章将介绍RN中的导航。 导航 什么是导航? 其本质就是视图之间的界面跳转,例如首页跳转到详情页。 在RN中有两个组件负责实现这样的效果,它们是: NavigatorIOS React Navigation 你可能在很多地方听说过Navigator,这个老组件会逐渐被React Navigation代替。笔者在最后也会讲解一下Navigator
由于之前一直在 Android 机子上测试,没在 iOS 上跑过。最近 FlutterUnit 发布了 iOS 版本,收到了最多的反馈就是:返回滑动 失效。 起初我以为只是 WillPopScope 的锅,但我发现,很多普通的界面在跳转后,iOS 也无法返回滑动。然后觉得很蹊跷,事出反常必有妖,且来一探究竟。
本文首发于我的个人博客:『不羁阁』 https://bujige.net 文章链接:https://bujige.net/blog/iOS-Application-jump.html 这篇文章通过一步步指导,教你彻底学会『iOS应用间相互跳转』问题。文末有Github的学习Demo。 1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。 下面来看看我们在开发过程中遇到的应用场景。 2.
在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图:
一,应用跳转的原理 从一个应用跳转到另一个应用,作为APP开发者,最熟悉的莫过于第三方登录,支付宝,微信支付时,那时候我们可能仅仅按照集成文档一步一步操作,在文档中配置很多类似URL Schemes
作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上。iOS中的UIViewController是UIKit框架中最基本的一个类。从第一个UI视图到复杂完整项目,都离不开UIViewController作为基础。基于UIViewController的封装和扩展,也能够出色的完成各种复杂界面逻辑。这篇博客,旨在讨论UIViewController的生命周期和属性方法,在最基础的东西上,往往会得到意想不到的惊喜。
学习移动app开发,我们常常从讲解基本的控件开始,如UILabel、UISearchBar、UIButton、UITextField等等。在实现一个简单的ios 应用之前,我们首先来看ios开发中一些基本的概念。 视图控制器(View Controllers) 视图控制器是MVC(Modl-View-Controller)模式的逻辑部分。按照字面意思,这个控制器能够控制某个视图。 UIViewController 苹果极力推崇MVC这种开发模式,并且帮我们实现了一个叫做UIViewController的控制
UINavigationController 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用 UINavigationController的使用步骤 初始化UINavigationController 设置UIWindow的rootViewController为UINavigationController 根据具体情况,通过push方法添加对应个数的子控制器 UINavigationController以栈的形
所以网页的y 坐标是 0 ,但是在 iOS 11里面就是无法在 状态栏上显示,iOS11下的系统不会这样会占用 状态栏的位置
前言 之前,通过官方文档,我们对Navigator简介。 在React Native开发中,官方推荐使用Navigator作为导航指示器,在早期的版本中ios/android中都使用Navigator作为通用导航栏,不过在在后来的版本中,由于Navigator对ios系统兼容较差,所以使用导航往往使用NavigatorIOS组件。 Navigator和NavigatorIOS属性 Navigator Navigator设置方法: 初始化路由(initialRoute), 配置场景动画(configureSc
前言 之前,通过官方文档,我们对Navigator简介。 在React Native开发中,官方推荐使用Navigator作为导航指示器,在早期的版本中ios/android中都使用Navigator作为通用导航栏,不过在在后来的版本中,由于Navigator对ios系统兼容较差,所以使用导航往往使用NavigatorIOS组件。 Navigator和NavigatorIOS属性 Navigator Navigator设置方法: 初始化路由(initialRoute), 配置场景动画(configure
启动之后,输入127.0.0.1:8899 就可以访问到whistle调试界面了:
概述 在iOS的发展历程中,IOS开发经历了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建全部UI。而在最近几年的开发中,苹果对 Storyboard 的开发力度也不断增强,添加了更多功能和特性,大大方便了界面的开发、适配以及提升代码性能。 我们来看看三种方式的主要区别: 手写页面和逻辑代码 如果你的目的是写一些可以高度重用的控件提供给其他开发者使用,那毫无疑问最好的选择应该是使用代码来完成UIVi
在2017年1月,新开源的react-navigation库备受瞩目。它有类似于原生版性能的体验效果,可能会成为未来RN导航组件中的主力军。该库包含三类组件: (1)StackNavigator:用
关于动画在iOS开发中的应用,曾经整理过一系列的博客进行总结。包括简单的UIView层的动画,CALayer层的动画,Autolayout自动布局动画以及CoreAnimation核心动画框架等。本篇博客主要深入讨论视图控制器、导航控制器来进行界面跳转时的专场动画相关内容。之前的动画相关博客列举如下:
自从15年iOS开发市场大热之后,最近两年行情确实有点惨淡,看到很多企业招聘要求动不动就2年/3年以上iOS开发经验,确实有点无奈,感觉对初学者或者刚入门的小白们比较不友好。
注册路由 : 在 MaterialApp 根节点组件中的 routes 字段注册路由 , 路由信息存储在 Map<String, WidgetBuilder> 集合中 , 键是路由名称 , 值是页面 Widget 组件 ;
刚刚获得的好消息:iOS 10.3以上版本用户可以在中国大陆的App Store使用微信支付选购app或订阅Apple Music了。用户可在App Store或Apple Music相关帐户设置
1、NSNotification是系统内部发出通知,一般用于内部事件的监听,或者状态的改变等等,是不可见的 2、本地通知与远程通知是可见的,主要用于告知用户或者发送一些App的内容更新,推送一些相关的消息,让用户知道App内部发生了什么事情。
参考文献来自:http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/ 问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据。对ShareSDK来说,具体表现可能是,无法授权、分享、获取用户信息等。 还可能造成我们的编辑界面里传http之类的网络图片的时候,我
UIViewController 可以理解为 App 的界面,负责管理 UIView 中显示的内容和用户的交互,主要有以下作用:
第一种方式: 在iOS10更新后,系统设置跳转被禁用,只能跳转App设置,但是最近发现苹果又更新了URLscheme,亲测可用,建议iOS10已下,还用原来的scheme #define iOS10 ([[UIDevice currentDevice].systemVersion doubleValue] >= 10.0) NSString * urlString = @"App-Prefs:root=WIFI"; if ([[UIApplication sharedApplication] canOpen
createBottomTabNavigator 相当于iOS里面的TabBarController,屏幕下方的标签栏。如图:
收到推送的准备: 首先至于说消息推送的原理,证书配置等等这些我在这里就不在累述,有很多写的很好的文章相信您已经可以搞定这块,这里我重点讲下各种情况下的跳转处理。 点击推送触发的几个方法: ios7.0之前 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ // App 收到推送的通知 NSLog(@"********** ios7.
现如今几乎所有人都有社交账号和社交App,而分享功能也几乎随处可见。本文的目的在于介绍分享功能的基本实现。使用的是友盟的社会化分享组件,这样就不用一个一个对接各个平台的接口,可以使用一套接口来实现多个平台的分享功能。本文以分享到微信、QQ、微博为例。
前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。 但是用户依旧不满意,继续对开发人员提出了更多更高的要求,不仅需要高质量的用户体验,还要求快速迭代,最好一天出一个新功能,而且用户还要求不更新就能体验到新功能。为了满足用户需求,于是开发人员就用H5,ReactNative,Weex等技术对已有的项目进行改造。项目架构也变得更加的
在iOS的开发过程中,不可避免的要设计界面,在android中有xml设置界面和直接使用java代码设置界面控件两种方式,在之前的ios开发中也是类似的有xib文件设置界面及用代码直接设置控件两种方法,但后来又出了一种方式,就是storyboard故事板子,其实storyboard和xib文件很像,最大的不同之处在于一个xib文件对应一个ViewController视图控制器,而storyboard对应多个,基本一个应用只需要一个storyboard就可以了,不再需要为每个控制器创建一个xib文件,从这点上来说,还是很方便的,在storyboard中查看各个界面的跳转也很方便,但之前一直使用xib进行开发,对storyboard的使用不太熟悉,今天好好学习了一下其中的界面跳转和传值,用到了Segue这个东西,这里借着例子说明一下。
📷 文 | Lefe 对于一名 iOS 开发者来说,微信小程序的出现,会让我们感觉到些许的不安。 但接触一段时间后,我发现,其实并不是想象中的那样。微信小程序不可能替代原生 app,也没有绝对的优势战胜原生 app。 不过,微信小程序固然有它的好处,比如我们需要用到的那些不常用的服务。对于小企业来说,小程序可以让他们更便捷地宣传他们的服务,或是给顾客一个更好的线下体验。 那么对于一个 iOS 开发的成员来说,开发小程序会有哪些挑战呢? 回顾 iOS 开发过程 最基本的 iOS
在应用A跳转到应用B,则给A、B自身自定义URL Schemes(自定义的协议头)后,通过在A中处理B的URL Schemes,就可以在A中启动B了。
从createMaterialTopTabNavigator API上可以看出createMaterialTopTabNavigator 支持通过RouteConfigs和 TabNavigatorConfig 两个参数来创建createMaterialTopTabNavigator导航器。
随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。
三层架构中,数据层和业务层都已经做过了简单的分享,最后,就剩下展示层了。本篇就给各位分享下我在展示层设计方面的一些经验心得。
emmm…… 先说个题外话,时隔一年,再遇RN,较之以前唯一不同的一点就是遇到的坑终于有人先踩了?本文会通过原生与RN页面相互跳转、方法间的相互调用、以及H5页面调用原生页面进而调用RN页面等方面来阐
前言 在去年的苹果大会上,苹果带来的iOS 10 系统中将之前繁杂的推送通知统一成UserNotifications.framework 来集中管理和使用通知功能,还增加一些实用的功能——撤回单条通知、更新已展示通知、中途修改通知内容、在通知中显示多媒体资源、自定义UI等功能。 那么在ios10之前,ios的消息推送是怎么分类的呢? ios 10之前 在ios之前,iOS推送分为Local Notifications(本地推送) 和 Remote Notifications(远程推送)。 本地推送 不需
对于app而言,一款应用往往涉及到很多的页面,而页面之间的跳转Android和iOS实现也各不相同。在iOS上,系统为我们提供了UINavigationController控件用来专门控制页面的跳转,iOS的实现思路很清晰,为按钮添加action事件,点击之后跳转到指定的页面即可。例如: //定义一个Button,点击后跳转到另一个页面 UIButton * button=[UIButton buttonWithType:UIButtonTypeSystem]; button.frame=C
概念 1.推送通知有5种不同的呈现效果 在屏幕顶部显示一块横幅(显示具体内容) 在屏幕中间弹出一个UIAlertView(显示具体内容) 在锁屏界面显示一块横幅(锁屏状态下,显示具体内容) 更新app图标的数字(说明新内容的数量) 播放音效(提醒作用) 2.用户也可以决定是否要开启以下4个功能: 显示App图标数字 播放音效 锁屏显示 显示在“通知中心” 3、注意: 发送推送通知时,如果程序正在前台执行,那么推送通知就不会被呈现出来,但是微信在前台的时候也能推送消息,方法是:创建一个view,仿造系统消息通
Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下,不允许多个info.plist
在iOS开发中,使用tableView的界面,大多会用到一个下拉刷新的的控件,第三方库中,我们一般会选择比较好用的MJRefresh,其实,在iOS6之后,系统为我们提供了一个原生的刷新控件,使用起来非常方便,只是制定性不强,如果我们没有复杂的需求,使用UIRefreshControl也是不错的一个选择。
主编前言: Deeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页。不似web,一个链接就可以直接打开web的内页,app的内页打开,必须用到deeplink技术。什么是deeplink技术?如何实现的?郭宇洋的这篇文章有非常轻松易懂的说明,并且还提供了相当不错的参考资料。 目录 一、Deeplink 1、技术 2、标准&生态 二、Deeplink与在线展示广告(移动端) 一.Deeplink 1.技术 先点题,这里面核心的技术就
在上一节Navigation组件,我们使用系统提供的导航组件做了一个跳转的例子,不过其实战能力不强,这里推荐一个超牛逼的第三方库:react-navigation。在讲react-navigation之前,我们先看一下常用的导航组件。 导航控件 常见的导航主要分为三种: 1.StackNavigator :类似于普通的Navigator,屏幕上方导航栏 2.TabNavigator:obviously, 相当于iOS里面的TabBarController,屏幕下方标签栏 3.DrawerNavi
每年iOS升级,都会带来一些坑,这次iOS9也不例外。本文总结了微信在适配iOS9上遇到的问题和解决方案。 一、iOS9问题汇总 1. 编译问题(Bitcode) 大部分人升级到Xcode7后,首先遇到的问题是编译不过,错误提示大致是 xxx does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated libra
微信支付在各个操作系统,各个应用下的挑战还是蛮大的,这也得益于腾讯架构师的专业。
作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题,常见的问题有:
前段时间对我们自己的App做了结构上的重构,抛弃了之前简单的MVC开发模式,原因是随着App的业务线越来越多,单个页面的功能越来越复杂,MVC开发模式导致整个Controller-layer的代码越来越多。本文将分享重构中的Router模块。
但是现实中我们的View依然跟Model耦合,因为如果完全按照这个理想化的MVC的话,View(cell)层的设置都应该在 Controller中,这样的话,Controller会更臃肿。
作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题:
1. 升级后,发现某个拥有tableView的界面错乱,组间距和contentInset错乱,因为iOS11中 UIViewController 的 automaticallyAdjustsScrollViewInsets 属性被废弃了,因此当tableView超出安全区域时,系统自动会调整SafeAreaInsets值,进而影响adjustedContentInset值
UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种:
领取专属 10元无门槛券
手把手带您无忧上云