当前位置: 首页 > news >正文

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

在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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Unity补完计划 之 必须学会的Tile拓展内容(新增瓦片)
  • 关于地址的级联选择器
  • 宝塔nginx安装geoip2
  • iOS弱引用
  • 【Apache Doris】周FAQ集锦:第 18 期
  • 正则表达式测试工具
  • 【环境】Rocky8使用gvm配置Go多版本管理的微服务开发环境(go-zero)
  • [Git][分支设计规范]详细讲解
  • VSCode在windows系统下的配置简单版
  • ArcGIS for js 缓冲(vue项目)
  • 代码”byte a = 0Xa1“为什么会报编译错误?
  • python游戏开发之五子棋游戏制作
  • Fast-DDS的依赖 foonathan_memory_vendor编译
  • ZICO2: 1【附代码】(权限提升)
  • 智算新风向丨趋动科技获中国信通院泰尔实验室首张智算资源池化能力泰尔测评证书
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 07.Android之多媒体问题
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Fabric架构演变之路
  • java 多线程基础, 我觉得还是有必要看看的
  • javascript 哈希表
  • JavaScript创建对象的四种方式
  • java第三方包学习之lombok
  • mysql外键的使用
  • 大型网站性能监测、分析与优化常见问题QA
  • 飞驰在Mesos的涡轮引擎上
  • 跨域
  • 老板让我十分钟上手nx-admin
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何进阶一名有竞争力的程序员?
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 新书推荐|Windows黑客编程技术详解
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用jquery写贪吃蛇
  • 用quicker-worker.js轻松跑一个大数据遍历
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (145)光线追踪距离场柔和阴影
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (LeetCode C++)盛最多水的容器
  • (六)激光线扫描-三维重建
  • (区间dp) (经典例题) 石子合并
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)、python程序--模拟电脑鼠走迷宫
  • (一)VirtualBox安装增强功能
  • (一)插入排序
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)关于多人操作数据的处理策略