Latest 1.0.4
Homepage https://github.com/DeveloperLY/LYTopWindow
License Apache License 2.0
Platforms ios 8.0, requires ARC
Authors

LYTopWindow【一行代码完成“点击状态栏,滚动视图当前内容滚动到顶部”】

enter image description here
enter image description here
enter image description here

导航

  1. 为什么要写这个小框架
  2. 集成后的效果
  3. 使用LYTopWindow
  4. 运行Demo

为什么要写这个小框架

可用查看一行代码完成“点击状态栏,滚动视图当前内容滚动到顶部

集成后的效果

集成后的效果

使用LYTopWindow

两步完成:

  1. 第一步:使用cocoaPods导入LYTopWindow
  2. 第二步:集成点击状态栏,滚动视图当前内容滚动到顶部

第一步:使用CocoaPods导入LYTopWindow

Podfile 中进行如下导入:

pod 'LYTopWindow'

然后使用 cocoaPods 进行安装:

如果尚未安装 CocoaPods, 运行以下命令进行安装:

gem install cocoapods

安装成功后就可以安装依赖了:

建议使用如下方式:

# 禁止升级CocoaPods的spec仓库,否则会卡在 Analyzing dependencies ,非常慢 
pod update --verbose --no-repo-update

如果提示找不到库,则可去掉 –no-repo-update

pod update

第二步:集成点击状态栏,滚动视图当前内容滚动到顶部

导入头文件

#import <LYTopWindow.h>

在AppDelegate.m中方法application:didFinishLaunchingWithOptions:中添加以下代码

[[LYTopWindow sharedTopWindow] setClickStatusBarBlock:^{
    // 让keyWindow上的ScrollView滚动到顶部
    [[LYTopWindow sharedTopWindow] searchAllScrollViewsInView:[UIApplication sharedApplication].keyWindow];

    // 如果需要实现点击状态栏,实现其他功能,可用在这里编写功能代码
}];

注意:如果需要实现其他功能效果,可以将这句代码替换成其他需要的代码

[LYTopWindow sharedTopWindow] searchAllScrollViewsInView:[UIApplication sharedApplication].keyWindow];

补充

由于keyWindow的控制器不再是最顶层控制器了,那么控制器的这两个方法会失效

  • 控制器的- (BOOL)prefersStatusBarHidden方法决定状态栏的可见性
  • 控制器的- (UIStatusBarStyle)preferredStatusBarStyle方法决定状态栏的样式

原因就是状态栏的样式可见性,由最顶层(盖在最上面)window的控制器来决定

所以如果使用了LYTopWindwo,如果要控制状态栏的样式和可见性可以使用下面的代码:

// 可见性
[LYTopWindow sharedTopWindow].statusBarHidden = NO;
[LYTopWindow sharedTopWindow].statusBarHidden = YES;
// 样式
[LYTopWindow sharedTopWindow].statusBarStyle = UIStatusBarStyleDefault;
[LYTopWindow sharedTopWindow].statusBarStyle = UIStatusBarStyleLightContent;

运行Demo

# 打开终端,进入 clone 的文件夹
cd /Users/YourUserName/Documents/LYTopWindow
# 如果提示找不到库,则可去掉 --no-repo-update
pod install --verbose --no-repo-update 
cd LYTopWindowExample 
open LYTopWindowExample.xcodeproj

Latest podspec

{
    "name": "LYTopWindow",
    "version": "1.0.4",
    "summary": "u4e00u884cu4ee3u7801u96c6u6210u70b9u51fbu72b6u6001u680fu65f6uff0cu5f53u524dwindowu4e0aScrollViewu6edau52a8u5230u9876u90e8u3002",
    "homepage": "https://github.com/DeveloperLY/LYTopWindow",
    "license": {
        "type": "Apache License 2.0",
        "file": "LICENSE"
    },
    "authors": {
        "DeveloperLY": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "requires_arc": true,
    "source": {
        "git": "https://github.com/DeveloperLY/LYTopWindow.git",
        "tag": "1.0.4"
    },
    "source_files": "LYTopWindow/**/*.{h,m}"
}

Pin It on Pinterest

Share This