iOS推断当前控制器是否在显示】的更多相关文章

当点击一个cell或者button的事件,处理比較耗时,在异步线程中执行中.当子线程得到执行结果时可能不在当前控制器上了.此时我们须要取消子线程后边的事情. 此刻,当得到结果时须要推断是否在当前控制器上.推断方法例如以下: -(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController { return (viewController.isViewLoaded && viewController.view.w…
+(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController { return (viewController.isViewLoaded && viewController.view.window); } 也可以将该方法定义在UIViewController的分类中, 方便多处调用 假如一个UIView对象当前正在显示,那么它的window属性肯定为非空值. 虽然官方文档未说明UIView未显示时windo…
有些时候需要 让控制器全屏显示 ,不需要导航栏,或者说是在导航栏底部 基本情况: >控制器全屏 ``` if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; } else { // Fallback on earlier versions self.automaticallyAdjustsScrollViewIn…
一.概述 UINavigationController用来管理视图控制器,在多视图控制器中常用.它以栈的形式管理视图控制器,管理视图控制器个数理论上不受限制(实际受内存限制),push和pop方法来弹入弹出控制器,最多只能显示一个视图控制器,那就是处于栈顶的视图控制器. 一般情况下,UINavigationController最少管理一个控制器,即最少有一个根视图控制器或者叫做栈底视图控制器.当然也有例外,如果不给它添加视图控制器也不会报错,界面上也有视图,因为UINavigationContr…
iOS 控制单个控制器旋转 控制单个ViewController 的旋转 //不旋转,保持竖屏 //iOS 5 - (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { return (toInterfaceOrientation == UIInterfaceOrientationPortrait); } //iOS 6 - (BOOL)shouldAutoro…
分割控制器UISplitViewController <1>功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个:左边的为主控制器,右边的为详细控制器,主控制器可以根据需要显示或隐藏.它对于iPhone虽然可以使用,但是不具备同时显示的特点,在iPhone的样式,就是导航控制器切换的模式.   <2>介绍 Split View通常只是一个基本元素,它填满整个屏幕,不可能把Split View放到其他什么的内部,一般情况下是提供给整个app的. Spl…
一.导航控制器的代理 1.UINavigationController的delegate属性 2.代理方法 1> 即将显示新控制器时调用 /* navigationController : 导航控制器 viewController : 即将显示的新控制器 */ - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)…
ios如何判断键盘是否已经显示   在群里看到有人问:ios如何判断键盘已经显示在界面上. 其实这个解决很简单: 写一个单例来管理键盘的状态. 这个单例在初始化方法init种监听2个事件,分别是 UIKeyboardDidShowNotification(键盘弹出通知)和 UIKeyboardWillHideNotification (键盘消失通知 然后在相应的方法中设置一个属性就行了.   大致的实现如下: -(id)init {     self = [super init];    if…
STM32驱动ILI9341控制器控制TFTLCD显示 一.用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念: 1.色彩深度,这是一个与TFTLCD显存对应的概念:所谓色彩深度就是每个像素点需要多少位的RGB 数据表示该点的颜色信息.注意,不同的TFTLCD显示器的RGB的对应关系不一样,这个可以在LCD 控制芯片手册中找到答案. 例: 某LCD显示支持8.16.24位RGB,这些位数是指该像素点颜色由8.16.24位RGB构成,但是 R\G\…
#import "AppDelegate.h" #import "FirstViewController.h" #import "SecondViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOption…
iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将主要讲解在iOS中,用来显示和编辑文本的三个视图:标签.文本框和文本视图. ios9只读文本——标签 标签视图是一个只读的文本视图,它用于在应用程序中为用户显示少量的信息,如图2.16所示.在此图中文字的显示使用的就是标签视图.标签视图一般使用UILabel类实现.   图2.16  美容相机 [示…
https://juejin.im/entry/576252855bbb500063e51c7d iOS 日志获取和实时浏览器显示日志…
最近做的demo  bug出现了,我觉得这个bug出现得很经典所以贴出来给大家看看, bug演示就是:点击返回键失效出现如下gif图演示的内容 为啥会出现如此奇葩的bug,系统的返回键居然失效了,尴尬症又犯了,愣是点了很久也不知所措 bug出现的源头:从不隐藏导航栏进行手势返回的时候,手势返回一半松手,回到不隐藏导航栏的页面,在push其他页面,就会出现返回键失效的问题 出现bug的重要步骤:手势返回一半又松手 进行页面隐藏导航栏的代码如下 //显示导航栏 [self.navigationCon…
在开发过程中,我们常常会碰到一种情况就是,在一个controller里面,经常要放很多复杂的控制,最常用的就是tar切换.tar切换,原理就是在一个controller里面,显示另一个controller的view. 如果发现:控制器的view还在,但是view上面的数据不显示,极大可能是因为:控制器被提前销毁了 一个控制器的view是可以随意调整尺寸和位置的 一个控制器的view是可以随意添加到其他view中 如果将一个控制器的view,添加到其他view中显示,那么要想办法保证控制器不被销毁…
创建一个控制器 控制器常见的创建方式有下面几种 //通过storyboard创建 //直接创建 ViewController *vc = [[ViewController alloc] init]; //指定xib文件来创建 ViewController *vc = [ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 通过storyboard创建控制器 //先载入storyboard文件(Test是…
一般我们需要显示消息数,会利用到系统提供的api UIApplication.sharedApplication().applicationIconBadgeNumber = 10 但如果我们不想显示个数.会想加一点自定义效果,如边框颜色.自定义背景等,这种情况下,还是自己自定义会更好. 进入正题: 1.新建iOS类别Category文件,如TabbarExtension.swift 2.新建方法 添加小红点: func showBadgeOnItemIndex(index:Int,corner…
通常情况下,一个app由多个控制器组成,当app中有多个控制器的时候,我们就需要对这些控制器进行管理. 在开发过程中,当有多个View时,可以用一个大的view去管理多个小的view,控制器也是如此,可以用一个控制器去管理多个控制器. 比如,用一个控制器A去管理3个控制器B.C.D,则控制器A是控制器B.C.D的父控制器,控制器B.C.D是控制器A的子控制器. iOS中提供了2个比较特殊的控制器,可以用来管理多个子控制器,分别是: UINavigationController 和 UITabBa…
1.如何创建一个控制器 控制器常见的创建方式有以下几种: (1)通过storyboard创建 (2)直接创建 MJViewController *mj = [[MJViewController alloc] init]; (3)指定xib文件来创建 MJViewController *mj = [[MJViewController alloc] initWithNibName: @"MJViewController" bundle:nil]; 注意,创建xid后还要设置xid中哪个vi…
1. 创建工程 创建一个新的Xcode工程命名为SimpleTableTest. 删除main.storyboard文件和info.plist中有关storyboard的相关属性. 按command+F键创建TableViewController视图控制器(继承自UIViewController)和xib视图文件(此时,系统将默认xib视图文件的File's Owner是TableViewController视图控制器类). 2. 创建xib文件 选定View视图,并按下option+comma…
因为调用系统相册.相机需要显示中文,所以搞了半天才知道是在Project->info->Custom ios Target Properties 添加 Localizations 并加入Chinese 本地化多语言化支持: 1.添加多国语言支持   Project->info->Localizable   加入语言支持 2.创建国际化语言文件 new File-> localizable.string   并在fileinspector(文件观察器) 中选中Localizab…
/** 导航控制器掌握: 1.创建导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:self.viewController]; 2.zhan (zhan 中所有的子控制器) self.navigationController.viewControllers; 3.将控制器压入zhan 中 [self.navigationController pushView…
iOS 7 已经release了.现在学习iOS开发还是非常热门的.到处也有些团队在寻找iOS开发的人才. 那么,iOS开发.....省略了1万字.... HTML5 +CSS3+JS...再省略1万字.... 这里先介绍iOS7 的WebView开发. 1. 创建一个工程,选择SingleViewApplication. 2. 拖动一个UIWebView到ViewController上. 3. 选择Assistant Editor,右侧关联选择~ViewController.h文件 4. 按住…
一.在应用中从竖屏模式强制转换为横屏模式 第一种方法:通过模态弹出视图的方式,使得特定ViewController坚持特定的interfaceOrientation(1)iOS6之后提供了这样一个方法,可以让你的Controller倔强的坚持某个特定的interfaceOrientation: - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation NS_AVAILABLE_IOS(6_0) { return…
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="objc">- (void)initTabBar { // 初始化主页 HomePageViewController *homePage = [[HomePageViewController alloc]init]; UINavigati…
简介 在iPhone开发中 Modal是一种常见的切换控制器的方式 默认是从屏幕底部往上弹出,直到完全盖住后面的内容为止 在iPad开发中 Modal的使用频率也是非常高的 对比iPhone开发,Modal在iPad开发中多了一些用法 呈现样式 什么叫呈现样式 Modal出来的控制器,最终显示出来的样子 Modal常见有4种呈现样式 UIModalPresentationFullScreen :全屏显示(默认) UIModalPresentationPageSheet 宽度:竖屏时的宽度(768…
一.简单介绍 gif动画是iOS开发中很常用的一个功能,有的是为了显示加载视频的过程,更多的是为了显示一个结果状态(动画更直观). 那么如何执行gif动画,方法有很多.(这里只写一下方法三,前两种之前都用过) 方法一使用UIWebView来显示: 方法二使用UIImageView的帧动画显示: 方法三使用SDWebImage这个三方框架来显示. 二.简单使用 1.显示gif动画(三方框架SDWebImage的UIImage+GIF分类) #import "UIImage+GIF.h"…
我需要把数据库中查询出的数据,传递到另一个控制器的页面去显示. https://blog.csdn.net/ma_jiang/article/details/8164212 看了上面这篇文章,反应过来用TempData传递..反正只是显示一下,不用存在多久..很好用!…
tableView的常见属性 cell的常见属性 一.一般情况 #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewDelegate> @property (strong, nonatomic) UITableView *tableview; @property (strong, nonatomic) NSArray *dataSource; @en…
#import "AppDelegate.h" #import "ViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //1.窗口初始化 self…
1. 创建工程 创建新工程,create a new Xcode project 创建single view application 创建名为PickerViewTest的工程 2. 创建xib文件 New File创建View的user interface 命名为PickerView 在interface builder中拖拽一个Picker View和Button 在dock中把xib的File's Owner 修改为ViewController(系统默认生成的视图控制器文件) 将xib文件…