状态条改变 for ios

本文介绍了一个用于自定义iOS设备状态栏的工具MTStatusBarOverlay的使用方法、特性及实现步骤,包括动画效果、消息排队、样式支持等,并提供了集成指南和已使用该工具的App列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/myell0w/MTStatusBarOverlay



Read Me

If you use MTStatusBarOverlay in your app, please drop me a line so that I can add your app here!

UIStatusBarStyleDefault (left: full size, right: shrinked)

Default style

Description

This class provides a custom iOS (iPhone + iPad) status bar overlay window known from Apps like Reeder, Google Mobile App or Evernote. It currently supports touch-handling, queuing of messages, delegation as well as three different animation modes:

  • MTStatusBarOverlayAnimationShrink: When the user touches the overlay the overlay shrinks and only covers the battery-icon on the right side
  • MTStatusBarOverlayAnimationFallDown: When the user touches the overlay a detail view falls down where additional information can be displayed. You can get a history of all your displayed messages for free by enabling historyTracking!
  • MTStatusBarOverlayAnimationNone: Nothing happens, when the user touches the overlay

MTStatusBarOverlay currently fully supports two different status bar styles, which also can be changed in your app (MTStatusBarOverlay will adopt the style and will be updated the next time you show it):

  • UIStatusBarStyleDefault
  • UIStatusBarStyleBlackOpaque

Usage

You can use the custom status bar like this:

 MTStatusBarOverlay *overlay = [MTStatusBarOverlay sharedInstance];
 overlay.animation = MTStatusBarOverlayAnimationFallDown;  // MTStatusBarOverlayAnimationShrink
 overlay.detailViewMode = MTDetailViewModeHistory;         // enable automatic history-tracking and show in detail-view
 overlay.delegate = self;
 overlay.progress = 0.0;
 [overlay postMessage:@"Following @myell0w on Twitter…"];
 overlay.progress = 0.1;
 // ...
 [overlay postMessage:@"Following myell0w on Github…" animated:NO];
 overlay.progress = 0.5;
 // ...
 [overlay postImmediateFinishMessage:@"Following was a good idea!" duration:2.0 animated:YES];
 overlay.progress = 1.0;

Adding MTStatusBarOverlay to your project

MTStatusBarOverlay is compiled as a static library. You have two options for integrating it into you own project, after cloning the MTStatusBarOverlay git repository with the terminal-command: git clone git://github.com/myell0w/MTStatusBarOverlay.gitSince MTStatusBarOverlay now uses ARC, you have to add "-fobjc-arc" to "Other Linker Flags" of your project, If you are using Xcode 4.2 or up with the iOS 5.0 SDK on a non-ARC target.

First option: copy files
  1. Just copy over the files MTStatusBarOverlay.h and MTStatusBarOverlay.m to your project.
  2. import "MTStatusBarOverlay.h" everywhere where you want to use it
  3. If you use MTStatusBarOverlay in a non-ARC project, add "-fobjc-arc" to the Compiler Flags of MTStatusBarOverlay.m in your target's "Build Phases" tab under Compile Sources.
  4. If your project doesn't use ARC be sure to check out the introduction section of "Adding MTStatusBarOverlay to your project"
  5. There is no step 5 :)
Second option: Xcode dependent project
  1. Locate the "MTStatusBarOverlay.xcodeproj" file and drag itonto the root of your Xcode project's "Groups and Files" sidebar. A dialog will appear -- make sure "Copy items" is unchecked and "Reference Type" is "Relative to Project" before clicking "Add".
  2. Add MTStatusBarOverlay as a direct dependency (Xcode 3) or target dependency (Xcode 4) of your target
  3. Drag libMTStatusBarOverlay.a onto the section 'Link Binary with Libraries' of your target
  4. Finally, you need to tell your project where to find the MTStatusBarOverlay-header. Open your "Project Settings" and go to the "Build" tab. Look for "Header Search Paths" and double-click it. Add the relative path from your project's directory to the MTStatusBarOverlay-directory.
  5. If your project doesn't use ARC be sure to check out the introduction section of "Adding MTStatusBarOverlay to your project"
  6. You are good to go, just #import "MTStatusBarOverlay.h" everywhere where you want to use it.

Known Limitations

  • When using UIStatusBarStyleBlackTranslutient the overlay is black opaque
  • User interaction in detail view is not possible yet

More Screenshots

UIStatusBarStyleBlackOpaque (left: activity indicator, right: finished-indicator)

Black style

UIStatusBarStyleDefault, Landscape

Default style landscape

UIStatusBarStyleDefault, detail view visible

History tracking:

UIStatusBarStyleBlackOpaque, Progress visible

History tracking:

Apps using MTStatusBarOverlay


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值