在实现某些需求的时候会有这样的情况,页面第一次加载显示的时候需要某些操作,而以后就不需要重复执行了,

一般这种处理都放在- (void)viewDidLoad- (id)init因为一般这两个函数除了在第一次显示或初始化以后就不会走了。

如果反过来呢页面第一次加载显示的时候不需要某些操作,但是如果是非第一次就需要做些判断,这个时候就需要做一些处理。

我选择了用计数来控制通过-(void)viewDidAppear:(BOOL)animated来控制

做法就是全局一个int isfirst - (id)init中设为0然后在-(void)viewDidAppear:(BOOL)animated isfirst = isfirst+1

然后在需要使用的地方判断isfirst是否大于1 就可以了。

不太聪明 却可以解决问题。

朋友提醒我 其实直接用bool应该更方便

当时做的时候也想到了 就是没想好如何使用现在想到了

-(void)init
{
isfirst = YES;
} -(void)viewDidAppear:(BOOL)animated
{
if (isfirst == NO) {
[self todo];
}
isfirst = NO;
}

iOS 判断View 是否是第一次显示的更多相关文章

  1. iOS判断当前控制器是否正在显示

    +(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController { return (viewController.is ...

  2. IOS 判断当前UIViewController 是否正在显示

    我通常的做法是根据视图控制器的生命周期来判断,其是否是正在使用的状态. 举例 设一个实例布尔变量isVisible  在 -ViewWillAppear 里面 isVisible = YES ;  在 ...

  3. ios 判断控制器是否是第一次进入画页的做法

    什么是第一次进入画页,只viewDidLoad一次: 所以只需要在viewDidLoad中加一个标识就行了. 加一个成员变量,或者属性,用来记录这个标识 一旦viewDidLoad后,这个就说明不是第 ...

  4. iOS判断UIView是否显示在屏幕上

    @interface - (BOOL)isDisplayedInScreen; @end @implementation UIView(UIScreenDisplaying) //判断View是否显示 ...

  5. iOS 9应用开发教程之显示编辑文本标签文本框

    iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将 ...

  6. iOS 判断相机权限是否被限制,判断相机是否可以使用

    判断相机权限是否被限制 需要导入   AVFoundation 类 [objc] view plain copy #import <AVFoundation/AVFoundation.h> ...

  7. View页面根据权限显示不同的内容

    1.View中根据权限显示相关操作按钮 @if (CoreTools.CheckAction(HttpContext.Current, "Delete"))        {    ...

  8. iOS 设置View阴影

    iOS 设置View投影 需要设置 颜色 阴影半径 等元素 UIView *shadowView = [[UIView alloc] init]; shadowView.frame = CGRectM ...

  9. ios 判断用户是否开启权限---并跳转设置

    ios 判断用户是否开启权限---并跳转设置 ios 判断用户是否开启权限---并跳转“系统设置” 1.判断 访问相册 或 相机 权限是否开启 2.检测是否开启定位 后面将持续更新 只有在应用请求过位 ...

随机推荐

  1. JQuery_DOM 节点操作之包裹节点

    jQuery 提供了一系列方法用于包裹节点,那包裹节点是什么意思呢?其实就是使用字符串代码将指定元素的代码包含着的意思. <script type="text/javascript&q ...

  2. HAOI2012音量调节

    Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...

  3. 底部漂浮DIV

    .buttonDiv{background-color: #4e4f50; border: 2px solid #83ABD3; border-radius: 4px; -khtml-opacity: ...

  4. Java_I/O输入输出_使用输入输出流读取文件,将一段文字加密后存入文件,然后读取,将加密前与后的文件输出

    import java.io.*; public class Example { public static void main(String[] args) { char a[] = "今 ...

  5. mysql通用包安装

    mysql 版本: mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 解压后的初始化: mysqld --defaults-file=/etc/my.cnf --us ...

  6. WAP站点(IIS/Apache)的服务器设置

    Server 端的设置IIS服务器:为了使IIS支持WAP(WML)页面的发布,在IIS的Web站点的属性 / HTTP信息中设置WAP的MIME属性,添加如下的MIME类型:扩展名 内容类型(MIM ...

  7. gulp教程之gulp-htmlmin

    简介: 使用gulp-htmlmin压缩html,可以压缩页面javascript.css,去除页面空格.注释,删除多余属性等操作. 1.安装nodejs/全局安装gulp/本地安装gulp/创建pa ...

  8. storyboard中的三种传值

    三种传值:属性传值 block传值 以及 代理传值 (这里我用前面的页面和后面的)来表示两个控制器:LoginViewController和RegisterViewController 建立两个控制器 ...

  9. C# 图片的裁剪,两个图片合成一个图片

    图片的裁剪,两个图片合成一个图片(这是从网上摘的) /// <summary>         /// 图片裁剪,生成新图,保存在同一目录下,名字加_new,格式1.png  新图1_ne ...

  10. react-native执行 npm install cl.exe找不到 的问题

    最近在学习react-native,昨天在尝试某个demo时,执行 npm instal, 总是遇到 cl.exe文件找不到,最开始以为Microsoft Visual C++ 2015 Redist ...