Skip to content

🔝一行代码集成点击状态栏,滚动视图滚动到顶部

License

Notifications You must be signed in to change notification settings

DeveloperLY/LYTopWindow

Repository files navigation

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

compatible Cocoapods platforms Version

导航

  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

License

LYTopWindow is available under the MIT license. See the LICENSE file for more info.

About

🔝一行代码集成点击状态栏,滚动视图滚动到顶部

Resources

License

Stars

Watchers

Forks

Packages

No packages published