新しい公式 Twitter for iOS アプリは、上の写真のようにステータスバーを変更します。そのような機能を実装するにはどうすればよいですか?
【画像ソース】
新しい公式 Twitter for iOS アプリは、上の写真のようにステータスバーを変更します。そのような機能を実装するにはどうすればよいですか?
【画像ソース】
回転アニメーションを使用してアプリで行う方法は次のとおりです。
-(void)showStatusBarMessage:(NSString *)message hideAfter:(NSTimeInterval)delay
{
__block UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame];
statusWindow.windowLevel = UIWindowLevelStatusBar + 1;
UILabel *label = [[UILabel alloc] initWithFrame:statusWindow.bounds];
label.textAlignment = UITextAlignmentCenter;
label.backgroundColor = [UIColor blackColor];
label.textColor = [UIColor grayColor];
label.font = [UIFont boldSystemFontOfSize:13];
label.text = message;
[statusWindow addSubview:label];
[statusWindow makeKeyAndVisible];
label.layer.transform = CATransform3DMakeRotation(M_PI * 0.5, 1, 0, 0);
[UIView animateWithDuration:0.7 animations:^{
label.layer.transform = CATransform3DIdentity;
}completion:^(BOOL finished){
double delayInSeconds = delay;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[UIView animateWithDuration:0.5 animations:^{
label.layer.transform = CATransform3DMakeRotation(M_PI * 0.5, -1, 0, 0);
}completion:^(BOOL finished){
statusWindow = nil;
[[[UIApplication sharedApplication].delegate window] makeKeyAndVisible];
}];
});
}];
}
アプリ内のどのコントローラーからでも使用できるように、UIViewController のカテゴリに入れています。
編集:QuartzCore.framework
参照し#import <QuartzCore/QuartzCore.h>
て追加する必要があります。