iOS不断旋转的UIBarButtonItem
来源:互联网 发布:linux文件重命名 编辑:程序博客网 时间:2024/06/05 18:18
做一个不断旋转的View简单,但是怎样让UIBarButtonItem旋转起来呢。
一、先说一下需求:
1.做一个RightBarButtonItem不断旋转的Demo;
2.点击RightBarButtonItem 按钮旋转或暂停;
三、关键代码展示(已加注释):
//
// ViewController.m
// NavigationBtn
//
// Created by Lves Li on 15/3/1.
// Copyright (c) 2015年 Lves. All rights reserved.
//
#import "ViewController.h"
#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
///ImageView旋转状态枚举
typedef enum {
RotateStateStop,
RotateStateRunning,
}RotateState;
@interface ViewController ()
{
///旋转角度
CGFloat imageviewAngle;
///旋转ImageView
UIImageView *imageView;
///旋转状态
RotateState rotateState;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.title=@"微信公众账号:乐Coding";
[self buildBarButtonItem];
}
#pragma mark 添加 RightBarButtonItem
-(void)buildBarButtonItem{
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon"]];
imageView.autoresizingMask = UIViewAutoresizingNone;
imageView.contentMode = UIViewContentModeScaleToFill;
imageView.bounds=CGRectMake(0, 0, 40, 40);
//设置视图为圆形
imageView.layer.masksToBounds=YES;
imageView.layer.cornerRadius=20.f;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 40, 40);
[button addSubview:imageView];
[button addTarget:self action:@selector(animate) forControlEvents:UIControlEventTouchUpInside];
imageView.center = button.center;
//设置RightBarButtonItem
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.rightBarButtonItem = barItem;
}
#pragma mark 点击 RightBarButtonItem
- (void)animate {
//改变ImageView旋转状态
if (rotateState==RotateStateStop) {
rotateState=RotateStateRunning;
[self rotateAnimate];
}else{
rotateState=RotateStateStop;
}
}
#pragma mark 旋转动画
-(void)rotateAnimate{
imageviewAngle+=50;
//0.5秒旋转50度
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{
imageView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(imageviewAngle));
} completion:^(BOOL finished) {
if (rotateState==RotateStateRunning) {
[self rotateAnimate];
}
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
- iOS不断旋转的UIBarButtonItem
- ActionScript 不断旋转的圆
- ActionScript不断旋转的椭圆
- IOS 设置UIToolbar的UIBarButtonItem的间距
- 如何iOS更改UIBarButtonItem的文本颜色
- IOS-UIBarButtonItem的图片文字点击效果
- iOS控件:UIBarButtonItem的简单用法
- iOS中的UIBarButtonItem使用
- iOS:自定义UIBarButtonItem
- ios UIBarButtonItem去除标题
- iOS navigation UIBarButtonItem 风格
- [iOS]修改UIBarButtonItem文字大小
- ios UIBarButtonItem类
- iOS之自定义导航按钮UIBarButtonItem的样式
- iOS 【UIKit-UIBarButtonItem 的四种初始化方式】
- iOS-一行代码搞定复杂的UIBarButtonItem创建
- ANDROID实现圆形图形不断旋转的动画
- Android自定义View实现不断旋转的圆形图片
- C#冒泡排序BubbleSort
- Linux Clock & Time
- 男人总会对女人的外表失去兴趣
- 并发编程之基础问答篇
- nginx 连接 mongodb
- iOS不断旋转的UIBarButtonItem
- NSString 与 NSData 之间的互转 NSData 与 UIImage 之间互转 NSDate 与 NSString 之间的互转
- 使用极客标签二维码服务快速生成二维码
- java 调用js 方法库进行简单的数学表达式的运算
- asp.net mvc5 与图片
- 修改navigationController返回按钮颜色和文字
- 类初始化顺序--如果类中包含自身静态属性
- 路由规则
- JSP自定义标签必知必会