0004-UI

1.UIViewframe跟center区别?

答:相同点:都可以用来调整视图在控制器上的位置

不同点:frame调整位置时是以视图右上角作为基点.

bounds调整位置时以视图中心作为基点.

//移动 利用center
-(IBAction)move:(UIButton *)button
 {
     //1.取出center
     CGPoint center = self.iconButton.center;
     //2.修改结构体员的值
     switch (button.tag) {
          case kMovingDirTop:
             center.y-= kMovingDelta;
             break;
         case kMovingDirdown:
              center.y+= kMovingDelta;
             break;
         case kMovingDirleft:
             center.x -= kMovingDelta;
             break;
         case kMovingDriRight:
             center.x+= kMovingDelta;
             break;
         default:
             break;
     }
     //3.重新为对象的结构体属性赋值
     self.iconButton.center =   center;
 }
//移动 利用frame ---------------------------------------------------
-(IBAction)move:(UIButton *)button
 {
     //1.取出frame
     CGRect frame   = self.iconButton.frame;
     //2.修改结构体员的值
     switch (button.tag) {
          case kMovingDirTop:
             frame.origin.y -= kMovingDelta;
             break;
         case kMovingDirdown:
              frame.origin.y += kMovingDelta;
             break;
         case kMovingDirleft:
              frame.origin.x -= kMovingDelta;
             break;
         case kMovingDriRight:
              frame.origin.x += kMovingDelta;
             break;
         default:
             break;
     }
     //3.重新为对象的结构体属性赋值
     self.iconButton.frame = frame;
 }


2.UIView3个类方法?

答:1.+ (void)beginAnimations:(nullable NSString *)animationID context:(nullable void *)context;   //开始动画

2.+ (void)commitAnimations;   //提交动画

3.+ (void)setAnimationDuration:(NSTimeInterval)duration;  //动画时长



3.什么是收尾式动画?

答:动画 : 从一个状态到另一个状态所做的动作.



4.UIView的一个属性?

答:@property(nonatomic) CGAffineTransform transform;  //表示视图的位置和大小.



5.OC中一个函数?

答:作用是修改视图的位置,相对起始的位置进行偏移.

CG_EXTERN CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx,

  CGFloat ty) CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
//CG_EXTERN 表示extern
//CGAffineTransform 表示返回值是一个结构体
// CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0)表示无参宏

6.NSString里的一个函数?

答:UIKIT_EXTERN NSString *NSStringFromCGAffineTransform(CGAffineTransform transform);

传入的是一个结构体,返回值是一个对象的指针.



7.什么是函数的指针,什么是指针函数?

答:指针函数是:返回值为指针的函数

格式:类型说明符 * 函数名(参数)

函数的指针:指向函数的地址

格式:类型说明符 (*函数名)(参数)

//指针函数
int * demo()
{
int a = 4;

return &a;
}
//函数的指针
void function()
 {
print("你好吗");
}

void (*demo2)() x = nil;
x = &function;  //将函数的地址赋值给指针x


8.OC里一个函数?

答:该函数功能是调整视图的位置,并且不断改变位移的大小.

CG_EXTERN CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t,
  CGFloat tx, CGFloat ty) CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
//CG_EXTERN    // extern
//CGAffineTransform  //返回值是一个结构体
// CG_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_2_0) //无参宏
//CGAffineTransform t  //该参数可以使得位移值,改变.

9.OC里的一个函数?

答:功能是等比例的改变视图的高和宽.达到放大缩小的效果.

CG_EXTERN CGAffineTransform CGAffineTransformScale(CGAffineTransform t,

CGFloat sx, CGFloat sy) CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);



10.OC里的一个宏?

答:表示角度.

#define M_PI        3.14159265358979323846264338327950288   /* pi             */
#define M_PI_2      1.57079632679489661923132169163975144   /* pi/2           */
#define M_PI_4      0.785398163397448309615660845819875721  /* pi/4           */
时间: 2024-08-05 16:13:20

0004-UI的相关文章

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

iOS instruments之ui automation的简单使用(高手绕道)

最近使用了几次instruments中的automation工具,现记录下automation的简单使用方法,希望对没接触过自动化测试又有需求的人有所帮助.  UI 自动测试是iOS 中重要的附加功能,它由名为"Automation"的新的工具对象支持.Automation工具的脚本是用JavaScript语言编写,主要用于分析应用的性能和用户行为,模仿/击发被请求的事件,利用它可以完成对被测应用的简单的UI测试及相关功能测试. 一. 简单的录制脚本 打开xcode,这里用我为我家亲爱

RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK--IOS版

1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,640x480等. 帧率:每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数. 码率: 数据传输时单位时间传送的数据位数,一般我们用的

UI渲染回顾简单笔记

UI渲染的简单过程: CPU,GPU,显示器协同工作,CPU 中计算显示内容,比如视图的创建.布局计算.图片解码.文本绘制等,然后将计算结果提交给GPU,由 GPU 进行变换.合成.渲染.随后 GPU 会把渲染结果提交到帧缓冲区去,随后等待下一次 VSync(垂直同步信号) 到来时,视频控制器会逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示.由于垂直同步的机制,如果在一个 VSync 时间内,CPU 或者 GPU 没有完成内容提交,则那一帧就会被丢弃,等待下一次机会再显示,而这时显示

关于Vue的各个UI框架(elementUI、mint-ui、VUX)

elementUI 官网:http://element.eleme.io/ 使用步骤: 1.安装完vue-cli后,再安装 element-ui 命令行:npm i element-ui -D 相当于  npm install element-ui --save-dev //   i -> install       D  -> --save-dev       S -> --save   都是缩写 2.在main.js入口文件中引入它的js和css import ElementUI f

Vue.js之UI组件elementUI——MintUI

目的: 为了提高开发效率 功能 原则: 拿过来直接使用 vue-cli  ->  vue-loader bower 前端包管理器 jquery#1.11.1 自动解决依赖npm node包管理器 [email protected] 饿了么团队开源一个基于vue 组件库 elementUI: 如何使用 官网:http://element.eleme.io/使用:1. 安装 element-ui npm i element-ui -D npm install element-ui --save-de

第一百八十九节,jQueryUI,折叠菜单 UI

jQueryUI,折叠菜单 UI 学习要点: 1.使用 accordion 2.修改 accordion 样式 3.accordion()方法的属性 4.accordion()方法的事件 5.accordion 中使用 on 折叠菜单(accordion),和选项卡一样也是一种在同一个页面上切换不同内容的功能 UI.它和选项卡的使用几乎没有什么太大区别,只是显示的效果有所差异罢了. 一.使用 accordion 使用 accordion 比较简单,但需要按照指定的规范即可. HTML 部分 <d

学习ui设计是自学好?还是参加培训好?

ui设计自学好?还是参加培训好? 想学UI设计的人,或是想转行UI设计的人,大多都有一个困惑,要不要报班?去哪里报班?报什么班?学UI设计自学好还是报班培训好?相信这是想要进入UI设计行业领域的人们心中都有的疑问,那么该怎么办?下面小编谈谈ui设计自学好还是参加培训好的看法! 1.自学UI设计,首先是你要了解自己是有基础,还是零基础.有基础的话可以自学,不过要找到足够专业的ui学习平台,不然技术还没学会,反而把时间给耽误了,然后就是自己对学习的时间以及学习的实践操作做规划.只有持之以恒的不断学习

Winform软件,不要在线程里操作UI

对于Winform软件,不要在线程里操作UI,不要相信:StartForm.CheckForIllegalCrossThreadCalls = false; 于是,把所有的代码都改成主线程委托调用的方式 private delegate void SetTextHandle(string id, string value); private void ThreadSetText(string id, string value) { this.Controls.Find(id, true)[0].

android内存优化5—对界面UI的优化(2)

在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件.一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局.如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差:另一个是修改起来比较麻烦,对后期的修改和维护非常不利.所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码. 常见的,有的应用在最上方会有一个