Shimmer is an easy way to add a shimmering effect to any view in your app. It's useful as an unobtrusive loading indicator.
Shimmer was originally developed to show loading status in Paper.
使用Shimmer可以让你非常容易的添加闪光效果到你的app当中,尤其是在加载的时候使用,非常有用.
Shimmer最初是在 Paper 应用中是使用的效果.
To use Shimmer, create a FBShimmeringView
or FBShimmeringLayer
and add your content. To start shimmering, set the shimmering
property to YES
.
如果你要使用Shimmer,创建出FBShimmeringView或者是FBShimmeringLayer,然后添加上你的content.为了显示闪光效果,将shimmering属性设置成YES.
An example of making a label shimmer:
FBShimmeringView *shimmeringView = [[FBShimmeringView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:shimmeringView];
UILabel *loadingLabel = [[UILabel alloc] initWithFrame:shimmeringView.bounds];
loadingLabel.textAlignment = NSTextAlignmentCenter;
loadingLabel.text = NSLocalizedString(@"Shimmer", nil);
shimmeringView.contentView = loadingLabel;
// Start shimmering.
shimmeringView.shimmering = YES;
There's also an example project. In the example, you can swipe horizontally and vertically to try various shimmering parameters, or tap to start or stop shimmering. (To build the example locally, you'll need to open FBShimmering.xcworkpace
rather than the .xcodeproj
.)
There are two options:
有两种安装方式:
Shimmer
in Cocoapods. 使用Cocoapods安装Shimmer requires iOS 6 or later.
Shimmer 需要iOS6或者以上版本.
Shimmer uses the -[CALayer mask]
property to enable shimmering, similar to what's described in John Harper's 2009 WWDC talk (unfortunately no longer online). Shimmer uses CoreAnimation's timing features to smoothly transition "on-beat" when starting and stopping the shimmer.
Shimmer使用了-[CALayer mask]
属性来制造闪光效果.
We have a version of Shimmer for Android, too! It's also available on GitHub.
See the CONTRIBUTING file for how to help out.
Shimmer is BSD-licensed. We also provide an additional patent grant.