tabBar选中 刷新某页面

AppDelegate.m文件
@interface AppDelegate ()<UITabBarControllerDelegate>

//监听tabar点击事件,(DXDTabat.m代替之)
#pragma mark - <UITabBarControllerDelegate>
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    // 发出一个通知
    [ [NSNotificationCenter defaultCenter] postNotificationName:@"DXDTabBarDidSelectNotification" object:nil userInfo:nil];
}

//在需要刷新的ViewController.m文件
// 监听tabbar点击的通知
- (void)viewDidLoad {
    [DXDNoteCenter addObserver:self selector:@selector(tabBarSelect) name:DXDTabBarDidSelectNotification object:nil];
}

- (void)tabBarSelect
{
    // 如果是连续选中2次, 直接刷新
    if (self.lastSelectedIndex == self.tabBarController.selectedIndex
        //        && self.tabBarController.selectedViewController == self.navigationController
        && [self isShowingOnKeyWindow]) {
        [self.tableView.header beginRefreshing];
    }

    // 记录这一次选中的索引
    self.lastSelectedIndex = self.tabBarController.selectedIndex;
}

- (BOOL)isShowingOnKeyWindow
{
    // 主窗口
    UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

    // 以主窗口左上角为坐标原点, 计算self的矩形框
    CGRect newFrame = [keyWindow convertRect:self.frame fromView:self.superview];
    CGRect winBounds = keyWindow.bounds;

    // 主窗口的bounds 和 self的矩形框 是否有重叠
    BOOL intersects = CGRectIntersectsRect(newFrame, winBounds);

    return !self.isHidden && self.alpha > 0.01 && self.window == keyWindow && intersects;
}
时间: 2024-12-11 15:32:55

tabBar选中 刷新某页面的相关文章

使用jquery刷新当前页面

如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架) opener.location.reload()刷新父窗口对象(用于单开窗口) top.location.reload()刷新最顶端对象(用于多开窗口) 下面再介绍一些javascript基本函数 1.document.write("");为 输出语句 2.js中的注释为//

fineui刷新父页面

protected override string AfterAddJS() { //TODO 重载这2个函数 可以控制新增和编辑之后执行的JS return AfterSaveJS_ReloadData(); //新增之后刷新当前页面数据 //return AfterSaveJS_Hide() + AfterSaveJS_ReloadFather(); //用这个代码 就不需要执行 WindowClose事件了 直接达到关闭当前页面 并且刷新父页面的效果 } protected overrid

js刷新当前页面

---恢复内容开始--- 一.先来看一个简单的例子: 下面以三个页面分别命名为frame.html.top.html.bottom.html为例来具体说明如何做. frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下: 详细出处参考:http://www.jb51.net/article/14397.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

使用ajax和history.pushState无刷新改变页面URL

表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变.并且能够很好的支持浏览器前进和后退. 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的. 与传统的AJAX的区别 传统的ajax有如下的问题: 1.可以无刷新

iframe子页面内刷新父页面中另一个iframe子页面

框架页面如下: <div id="aa" style="float: left; height: 500px; border-right-style: solid; border-right-color: #CCCCFF; border-right-width: 2px;"> <IFRAME id="tree" name="tree" src="/ScienProjectWeb/commonjsp/

js 返回上一页和刷新以及页面跳转

1. Javascript 返回上一页history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forward()返回下一页 4. window.history.go(返回第几页,也可以使用访问过的URL) 例: <a href="javascript:history.go(-1);">向上一页</a> response.Write("<script

刷新父页面

用iframe.弹出子页面修改内容后刷新父页面iframe <script language=JavaScript> parent.location.reload(); </script>

武汉兼职女:点击浏览器或者手机返回按钮,刷新历史页面解决方案

武汉兼职女:点击浏览器或者手机返回按钮,刷新历史页面解决方案 我前面文章中写了返回上一页并刷新页面 的方式.这个是我们点击某个按钮,来进行操作的.但是假如我们不是点击某个按钮,而是直接点击手机下面的返回按钮或者浏览器自带返回按钮,如何刷新之前的历史页面呢? 应用场景假如我们有如下页面列表信息页面 enter image description here 点击进入详情页面,在详情页面修改了数据. enter image description here 通过历史返回,再返回到列表信息页面,因为列表

PHP 后台定时循环刷新某个页面 屏蔽apache意外停止

PHP 后台定时循环刷新某个页面 如果间隔时间过长的话  会出现apache自动停止的现象.出现的原因则是设置了 <IfModule mpm_winnt_module> ThreadsPerChild 450 MaxConnectionsPerChild 3000</IfModule> 错误日志报错 [mpm_winnt:notice] [pid 126236:tid 316] AH00362: Child: Waiting 270 more seconds for 3 worke