IOS开发控件视图day02:动态创建按钮、按钮状态、按钮动画点击实现图片或者控件的移动

1、动态创建按钮
(1)创建按钮(UIButton)

UIButton *button1 = [[UIButton alloc]init];

(2)设置按钮的frame

button1.frame = CGRectMake(20,80,120,80);

(3)设置按钮上显示的文字
设置默认状态下显示的文字

[button1 setTitle:@“阚志华” forState:UIControlStateNormal];

设置高亮状态下的显示文字

[button1 setTitle:@“李小伟” forState:UIControlStateHighlighted];

(4)设置不同状态下显示的文字颜色
设置默认状态下的文字颜色

[button1 setTitelColor:[UIColor redColor] forState:UIControlStateHighlighted];

设置高亮状态下的文字颜色

[button1 setTitelColor:[UIColor blueColor] forState:UIControlStateHighlighted];

(5)设置按钮上的背景图片

UIImage *imgNormal = [UIImage imageNamed:@"img01"];
UIImage *imgHighLighted = [UIImage imageNamed:@"img01"];

设置默认状态下的背景图片

[button1 setBackgrundImage:imgNormal forState:UIControlStateNormal];

设置高亮状态下的背景图片

[button1 setBackgrundImage:imgHighLighted forState:UIControlStateHighlighted];

(6)为按钮注册单击事件

[button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];

(7)将动态创建的按钮加到控制器所管理的那个view中

[self.view addSubview:button1];

(8)实现单击实现函数

-(void)buttonClick
{
	//实现函数
}
frame:能修改位置和尺寸(左上角坐标)
center:能修改位置(中心点坐标)
bounds:能修改尺寸

2、设计点击按钮实现图片的移动和缩放
(1)移动

-(void)move:(UIButton *)btn
{
	//为上下左右每个按钮设置不同的tag值(1、2、3、4),然后在这个方法中就可以根据btn.tag来判断用户当前点击的是哪个按钮
	//1、获取原始的frame
	CGRect originFrame = self.button1.frame;
	//2、修改frame
	switch(btn.tag)
	{
		case 1:
			originFrame.origin.y -= 10 ;//上移
			break;
		case 2:
			originFrame.origin.x += 10 ;//右移
			break;
		case 3:
			originFrame.origin.y += 10 ;//下移
			break;
		case 4:
			originFrame.origin.x -= 10 ;//左移
			break;
	}
	//重新赋值
	self.button1.frame = originFrame ;
}

(2)缩放

-(void)move:(UIButton *)btn
{
	//1、获取原始的frame
	CGRect originFrame = self.button1.frame;
	//2、修改frame
	if(btn.tag == 5)
	{
		//放大
		originFrame.size.width += 10;
		originFrame.size.heigth += 10;
	}else if(){
		//缩小
		originFrame.size.width -= 10;
		originFrame.size.heigth -= 10;
	}
	//3、重新赋值
	self.button1.frame = originFrame;
}

3、实现简单平移动画
(1)头尾式

[UIView beginAnimations:nil context:nil];//开启动画
[UIView setAnimationDuration:1];//设置动画执行时间
/**需要执行动画的代码**/
[UIView commitAnimations];//提交动画

(2)Block式

[UIView animateWithDuration:0.5 animations:^]
{
	/**需要执行动画的代码**/
}]

你可能感兴趣的:(IOS控件基础)