ios如何动态添加控件及动画

avatar
作者
猴君
阅读量: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 

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!