static UIWindow *topWindow_;

static UIScrollView *scrollView_;

/**

* 显示顶部窗口

*/

+ (void)show

{

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

topWindow_ = [[UIWindow alloc] init];

topWindow_.windowLevel = UIWindowLevelAlert;

topWindow_.frame = CGRectMake(60, 0, fView_Width(kWindow), 20);

topWindow_.backgroundColor = [UIColor clearColor];

topWindow_.hidden = NO;

[topWindow_ addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(topWindowClick)]];

});

}

/**

* 监听顶部窗口点击

*/

+ (void)topWindowClick

{

UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

[self searchAllScrollViewsInView:keyWindow];

}

/**

* 找到参数view中所有的UIScrollView

*/

+ (void)searchAllScrollViewsInView:(UIView *)view

{

// 递归遍历所有的子控件

for (UIView *subview in view.subviews) {

[self searchAllScrollViewsInView:subview];

}

// 判断子控件类型(如果不是UIScrollView,直接返回)

if (![view isKindOfClass:[UIScrollView class]]) return;

// 找到了UIScrollView

UIScrollView *scrollView = (UIScrollView *)view;

// 让UIScrollView滚动到最前面

// 让CGRectMake(0, 0, 1, 1)这个矩形框完全显示在scrollView的frame框中

//  [scrollView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];

if (scrollView == scrollView_) {

[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, -scrollView.contentInset.top) animated:YES];

}

}

+ (void)configScrollView:(UIScrollView *)scrollView {

scrollView_ = scrollView;

}

iOS开发 自定义窗口 以及 点击scrollView置顶的更多相关文章

  1. iOS开发自定义字体之静态字体

    最后更新 2017-04-25 在iOS开发中经常会用到字体, 一般字体文件比较小的,单一的,几十k, 可以通过内置进去;如果字体文件比较多或者字体文件比较大,通常通过动态加载方式. 静态加载方式 将 ...

  2. iOS 开发自定义一个提示框

    在开发的时候,会碰到很多需要提示的地方,提示的方法也有很多种,ios 8 以前的版本有alertview还是以后用的alertController,都是这种作用, 但是不够灵活,而且用的多了,用户体验 ...

  3. [IOS 开发] 自定义(重写) UITableViewCell的高亮背景色

    IOS的sdk中,对UITableViewCell的高亮背景色只支持两种颜色,分别为UITableViewCellSelectionStyleBlue和UITableViewCellSelection ...

  4. iOS开发之 用第三方类库实现ScrollView

    转自:http://www.cnblogs.com/qianLL/p/5369127.html   在github上面有很多的第三方类库,大大节约了大家的开发时间 下载地址:https://githu ...

  5. iOS开发-自定义UIAlterView(iOS 7)

    App中不可能少了弹框,弹框是交互的必要形式,使用起来也非常简单,不过最近需要自定义一个弹框,虽然iOS本身的弹框已经能满足大部分的需求,但是不可避免还是需要做一些自定义的工作.iOS7之前是可以自定 ...

  6. iOS开发之窗口和视图

    视图就是应用程序的界面.视图可以使用nib文件实现,也可以使用代码创建.一个视图也是一个响应器(UIResponder的子类)这意味着一个视图可以与用户交互.因此,视图不只是用户可看到的界面,也是可以 ...

  7. iOS开发 自定义UIAlertController的样式

    引言: 关于提示框, 系统自带的提示框有时可能满足不了我们的需求, 比如一个提示框的取消按钮我需要灰色字体显示, 这时候就需要自定义提示框的样式了. 示例图 苹果自iOS8开始,就已经废弃了之前用于界 ...

  8. iOS开发——自定义AlertView

    自定义的AlertView,可以选择出现的动画方式,正文信息高度自动变化,特意做了几个可以对比.没啥难点,直接上代码,一看就懂. 1.在YYTAlertView.h文件中 // //  YYTAler ...

  9. IOS开发自定义CheckBox控件

    IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: UICheckBoxButton.h文件如下: #import #imp ...

随机推荐

  1. servlet中Java连接数据库后的基本操作

    servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...

  2. vs智能提示突然消失的解决办法 (vs2008 vs2010 vs2012 智能提示)

    vs智能提示突然消失的解决办法 (vs2008 vs2010 vs2012 智能提示) 下面一段话是网上找到的解决方案: 重置Visual Studio可以解决此问题,方法是从开始->Micro ...

  3. 2016 Al-Baath University Training Camp Contest-1 C

    Description Rami went back from school and he had an easy homework about bitwise operations (and,or, ...

  4. CAGradientLayer

    参考: CAShapeLayer和CAGradientLayer 一 简介 1,CAGradientLayer,处理颜色渐变: 2,CAGradientLayer的渐变色可以做隐式动画: 3,大部分情 ...

  5. .Net操作.exe文件

    Process proc = new Process(); proc.StartInfo.FileName = @"D:\Program Files\Foxmail\Foxmail.exe& ...

  6. qt 1 qt开发中的窗口设计

    一个简单的qt界面 相应代码如下: setWindowTitle(tr("Sotware"));//设置窗体标题 ui->tabWidget->removeTab(); ...

  7. Shared Preferences 数据存储

    SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. 其背后是用xml文件存放数据,文件存放在/data/data/<package name>/s ...

  8. CodeForces 432B Football Kit

     Football Kit Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Subm ...

  9. Java——Socket编程(一)

    1. 网络基础知识 两台机器之间需要进行通信,需要满足的条件: 每个机器有一个唯一的标识符(IP地址): 他们之间进行通信需要用同一种语言(协议): 每台主机上面有多个应用程序,如QQ,微博,迅雷等, ...

  10. CUBRID学习笔记 29 web管理中文语言文件 CUBRID教程

    网站的中文语言文件部分 http://files.cnblogs.com/files/wang2650/Messages.7z