阅读量:0
在ViewController中添加
// // ViewController.m // iosstudy2024 // // Created by figo on 2024/8/5. // #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIButton *xigua; - (IBAction)xigua:(id)sender; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //如何动态添加控件 //1.new 一个按钮 UIButton *uibutton=[[UIButton alloc]init]; //2.设置不同状态下标题及颜色 [uibutton setTitle:@"hello,world" forState:UIControlStateNormal]; [uibutton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; [uibutton setTitle:@"hello,china" forState:UIControlStateHighlighted]; [uibutton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted]; //3.设置不同状态下背景图片 UIImage *uiImageNormal=[UIImage imageNamed:@"star"]; [uibutton setBackgroundImage:uiImageNormal forState:UIControlStateNormal]; UIImage *uiImageHignlighted=[UIImage imageNamed:@"diamond"]; [uibutton setBackgroundImage:uiImageHignlighted forState:UIControlStateHighlighted]; //4.设置坐标及长和宽 CGRect rect=CGRectMake(10, 20, 100, 100); uibutton.frame=rect; //5.添加按钮事件 [uibutton addTarget:self action:@selector(customClick) forControlEvents:UIControlEventTouchUpInside]; //6.添加到父视图 [self.view addSubview:uibutton]; } - (void) customClick{ NSLog(@"动态添加事件"); } - (IBAction)xigua:(id)sender { NSLog(@"这里是西瓜!"); //1.通过frame设置位置(+是向右和向下)和大小 /** */ // CGRect originFrame=_xigua.frame; // originFrame.size.width+=10; // originFrame.size.height+=10; // originFrame.origin.x+=10; // originFrame.origin.y+=10; // _xigua.frame=originFrame; //2.通过center设置位置,center是中心点 /** */ CGPoint centerPoint=_xigua.center; centerPoint.x+=100; centerPoint.y+=100; //方法一:头尾式,执行动画 //1).开启动画,会平滑一点 // [UIView beginAnimations:nil context:nil]; // //2).设置动画执行时间,单位秒 // [UIView setAnimationDuration:1]; // _xigua.center=centerPoint; //3).提交动画 注释后,动画也可以执行 // [UIView commitAnimations]; //方法二:block方式执行动画 [UIView animateWithDuration:1 animations:^{ _xigua.center=centerPoint; }]; //3.通过bounds设置位置(+是向左和向上)和大小 /** CGRect originBounds=_xigua.bounds; originBounds.size.width+=10; originBounds.size.height+=10; originBounds.origin.x+=10; originBounds.origin.y+=10; _xigua.bounds=originBounds; */ } @end