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

iOS学习——获取当前最顶层ViewController

iOS开发过程中,我们经常性会需要获取当前页面的ViewController,然后利用ViewController进行一些操作,例如在最顶层ViewController上展示一个UIAlertController...,或者在最顶层ViewController上present另一个ViewController,或者进行其他操作。...1 实现思路   通过最底层ViewController依次向上寻找,直到找到最顶层ViewController,也就是UIApplicationkeyWindowrootViewController...(哈哈哈,毕业工作半年,发觉第一次写iOS用到递归,突然觉得高大上)。...ps:   如果是需要push视图,就非常简单了。用上面的方法获取到顶层视图,判断currentVC.navigationController是否为nil。

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

IOS开发之获取Storyboard创建ViewController

前面的两篇博客都是学习有关屏幕适配也就是相对布局东西,这篇博客中将会学习视图间切换。视图间切换我们可以用代码完成或者用storyboard来建立各个视图控制器间关系。...4.下面来编写我们代码,上面我们用到了TextField,我们需要处理键盘回收事件,所以我们ViewController要遵守UITextFiledDelegate协议,实现有关键盘方法     ...(1)遵守UITextFieldDelegate协议 1 2 3 4 #import   @interface ViewController : UIViewController... @end ​    (2)在ViewController.m中中进行回调注册和实现协议中相应方法,代码如下: 1 2 3 4 5 6 7 8 9 10 11...先简单说这些吧,以后学到了内容在更新博客内容,欢迎批评指正。

1.8K80

ios开发-Storyboard在多个viewcontroller之间导航实现

IOS SDK6/Xcode4.5开始在Storyboad中新增很多功能对可视化开发页面布局,导航更加方便,下面就写一下各种导航实现。...1、不用像Xcode4之前必须删除默认viewcontroller,然后拖一个navigation controller,然后才能实现导航。...只需要选择默认viewcontroller ,在菜单上选择editor-embed in- ?...4、返回任意一个viewcontroller,官方称 unwind segues,如果你想让一个viewcontroller可以在其他任意viewcontroller直接导航回来那么只需要在这个viewcontroller...只要你在每个viewcontroller中重写了-(ibaction)name:(uistoryboardsegue *)segue,那么当你直接拖线指向Exit图标的时候就会出现你所有实现方法,当你选择哪个方法就返回到实现这个方法

1.7K50

iOS开发】修改 present 出来 ViewController 状态栏颜色

在开发过程中,如果我们需要给用户提供一个浏览器功能支持、又或者需要让用户来系统相册挑选图片,那么利用 UIKit 给我们提供现成 SFSafariViewController 和 UIImagePickerController...将是非常方便事情,但是 let pc = UIImagePickerController() let sf = SFSafariViewController(URL: NSURL(string...:"")) 像这样用一行代码来创建 ViewController,使我们丧失了进入这个 ViewController 内部去调节一些东西机会。...比如说我们整个App都是采用白色状态栏,而 SFSafariViewController 和 UIImagePickerController 都是默认背景为白色(即需要一个黑色状态栏,否则用户看不清内容...),这时候我们需要一个默认自身状态栏永远为黑色 SFSafariViewController 或 UIImagePickerController 下面以 UIImagePickerController

1.2K20

iPad Safari多窗口视图分析和实现思路

这里我将以 Safari 为参考探讨它实现思路。 Safari 是 iOS 系统自带浏览器,支持打开多个网页窗口。...他们核心在于管理和控制多个子级ViewController 视图,通过自己定制创造一个Container View Controller我们可以做出不一般交互,例如我们这次说多窗口管理。...Container View Controller view 我们可以添加一个ScrollView,每当一个 ViewController 需要展示,我们参考Apple示例代码添加childViewController...具体来说,某个具体页面切换到大纲视图之前,对页面做一个截图,ScrollView 中也不再加载具体 ViewController view 而是仅放置静态截图。...当大纲视图回到具体页面,同样可以通过操作 zoomScale和 contentOffset 来使得截图铺满视口,完成后再操作实际 ViewController view 带到视图顶层,再把截图卸载

4K30

WWDC2016 Session笔记 - iOS 10  推送Notification特性

前言 在今年6月14号苹果WWDC开发者大会上,苹果带来了iOS系统——iOS 10。苹果为iOS 10带来了十大项更新。...屏幕通知查看方式:苹果为iOS 10带来了全新通知查看功能,即抬起iPhone屏幕,用户就能看到目前通知和更新情况。...你可以等待你朋友回复,你再回复他,并且可以回复很多条。 以上就是iOS X强大功能。以上所有功能都能通过iOS XAPI来实现。所有的特性都能在我们开发者开发app里面有所体现。 二....在iOS X中,我们可以使用特性来解决这个问题。我们可以通过service extensions来解决这个问题。...template会在target里面生成3个文件,一个ViewController,main Interface storyboard,info.plist。

85820

iOS---iPad开发及iPad特有的特技

1.在控制器中得到设备旋转方向 在 iOS8及以后,屏幕就只有旋转后屏幕尺寸之分,不再是过期旋转方向。...在iOS7及以前得到屏幕旋转方向方法 /** // UIInterfaceOrientation ,屏幕方向 UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown...:底部往上钻(默认) UIModalTransitionStyleFlipHorizontal :三维翻转 UIModalTransitionStyleCrossDissolve :淡入淡出 UIModalTransitionStylePartialCurl.../ios7过时/ 3>设置在什么地方显示 调用方法 /** * 弹出UIPopoverController方法(一) * * @param item 围绕着哪个UIBarButtonItem...(和正常控制器一样可以跳转返回等) UIPopoverController消失, 方法 [Popover dismissPopoverAnimated:YES] 4.iPad特有的UISplitViewController

2.5K70

iOS 推送手机消息背后技术

,QQ邮箱可以为用户推送收到新邮件提醒,游戏App可以通过这种方式通知玩家有游戏福利,既能够及时地通知用户重要信息,也能够促使用户通过推送消息打开或唤醒App,提高App使用率。...推送证书分为开发环境和生产环境证书,分别对应不同APNs推送接口,我们苹果开发者平台或者第三方平台导出推送证书一般有p12和pem两种格式文件,为了便于接口调用我们可以通过以下命令将p12格式文件转换为...用户点击推送消息后会自动启动或后台唤醒App,我们可以在系统回调方法中获取到自定义参数,并根据gameID自动为用户打开该游戏页面。...回调方法会被调用,开发者可以UNNotification对象中获取该推送消息payload内容,进而获取自定义参数,然后显示一个自定义弹窗提示用户收到了消息;也可以在willPresentNotification...App尚未启动,此时用户点击推送消息会打开App,开发者可以launchOptions中获取本地或远程推送消息中自定义参数,待页面初始化完成后进行相关页面的跳转。

3.9K103

实现 iOS 前台时推送弹窗效果

作者:Pikacode 原文链接:http://www.jianshu.com/p/67864e1c2085 本文获作者授权转载 或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行情况下...,推送顶部弹窗是不会弹出来。...然而就是有很多**产品经理都会提出类似这样**需求: 那就是在 App 处于前台时一样要弹出推送窗口,而且还要能点击,能跳转到指定页面,甚至这一需求还涉及到了产品核心功能。...获取推送内容,并且处理点击事件。 支持 iOS 7~10 beta,支持模拟器和真机运行。 效果 实际效果如下: ? ?...系统自带声音 id,系统级推送服务默认使用是三全音,id = 1312 其他系统声音 id 可以在这里查询到iOS Predefined sounds 备用地址AudioServices sounds

1.8K20

iOS学习——iOS项目增加字体

基本思路   在项目开发过程中,iOS系统自带字体库可能不适应需求,需要导入其他字体库。...下面是iOS项目增加字体基本思路,基本上分为三步: 将字体库添加到项目中 在info.plist中添加所需新字体, 同时也在target-->Build Phases-->Copy Bundle...Resources中将info.plist中添加字体添加上(确保能找到资源) 找到真实可用fontName, 代码中使用fontWithName: size: ....配置有两步 第一是需要在info.plist中添加所需新字体,在 info.plist文件中添加一组键值对,Fonts provided by application,然后在下面的item对应值填写就是我们添加字体库文件名称...,并且可以获取到我们添加字体名称。

60731

实现 iOS 前台时推送弹窗效果EBForeNotification

或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行情况下,推送顶部弹窗是不会弹出来。...然而就是有很多**产品经理都会提出类似这样**需求: 那就是在 App 处于前台时一样要弹出推送窗口,而且还要能点击,能跳转到指定页面,甚至这一需求还涉及到了产品核心功能。...获取推送内容,并且处理点击事件。 支持 iOS 7~10 beta,支持模拟器和真机运行。...completionHandler(UIBackgroundFetchResultNewData); } soundID 参数 iOS 系统自带声音 id,系统级推送服务默认使用是三全音,id =...,获取推送内容,通过推送时自定义字段处理自己逻辑,如:跳转到对应页面等。

1.6K10

iOS推送调试工具Easy APNs Provider使用

一·背景 之前接到远程推送需要显示图片需求,在调试时候使用公司提供WNS带push调试工具发现对环境和设备都有要求,开发调试&测试都比较困难,比如需要找越狱机子安装发布证书打包安装包,在WNS...[ log输出 ] 这样就可以继续构造自己要推送消息体了。这里之前踩过一个坑,在开发网环境下,一直提示失败,以为是证书问题,最后发现是自己被墙了。 4·推送负载: ? [ 便利构造 ] ?...[ 效果 ] 四·总结&延展 WNS推送调试方式对测试和开发限制都比较大,单单一个越狱机器就挺难找了,所以Easy APNs Provider简单方便。...在做这个需求时候,使用了iOS10推送相关框架UserNotificationKit,苹果将本地推送和远程推送进行了整合与重构。...这是推送相关一个全新框架,全新使用方式,遂将Notification相关重温了一次又学习了UN框架使用,这里推荐一个学习UN框架很好文章:UN学习传送门。

3K90

推送 入门到放弃文案_百度推送自己不喜欢内容

推送 推送简直就是一种轻量级骚扰方式 自从有了推送,各个公司基本上都在使用推送,这确实是一个比较好提醒方式,Android较iOS一个部分,也就是在于AndroidNotification。...推送方案 iOS iOS这边使用系统统一APNs,所有推送消息都由苹果服务器进行下发,同时,也由系统进行统一展示和处理。...GCM 与iOS一样,Android同样有一套内置推送方案,但很可惜是,Google服务在中国大陆无法使用,草了个蛋。...而且,这个到达率与iOS完全没有可比性,因为iOS统一通过APNs来进行推送,且无法获取到达回执,所以,iOS基本不存在到达率这一说法,如果有,几乎也是100%,完全没有意义,所以,如果哪一天有产品或者运营跟你说...,为什么Android到达率比iOS到达率差这么多,请毫不客气砸它一斤苹果。

63910
领券