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 */