黑马程序员-----随堂笔记之UI基础(一)

UI基础

一、一些注意点

1、拿到一个控件的方法可以是将该控件变成属性(通过连线或者重代码在定义控件的时候用弱指针指向),或者使用tag值来获取- (UIView)viewWithTag:(NSInteger)tag

特别注意在使用tag值获得的控件是需要强转成需要的类型的,返回的时UIView类型

2、连线就是在赋值,因为oc的语法对象都是默认一指针形式出现的,这里的连线其实就是指针变量赋值,不过我们不需要像使用代码一样,需要自己去定义对象(指针),是有系统自动完成的,我们只需要在连线过程当中提供变量名即可,其余操作有xcode自动完成

3、ios当中的角度都是弧度制eg:π/n就是宏M_PI_n,最大float 为MAXFLOAT

4、九宫格的布局,记住一点,商行余列

5、+方法的id和instancetype是有区别的,instancetype会检测真实数据类型,如果类型不匹配,回报警告

6、userinteractionEnable是一级一级继承传递的,如果父控件是NO,子控件都是NO

7、收起键盘的方法就是,解除第一调用者的身份,呼出键盘的空间,就会成为第一调用者

a.resignFirstresponder

b.[self.view endEditing];

8、控件圆角实现,可以修改控件的主图层的layer.cornerRadian;然后让控件遵循主图层显示设置layer.MaskToBound = YES;layer代表主图层

9、计算文字的size(建议写成NSString的分类),分类名一功能命名最好,常用加好方法,也会用到减号方法,只要方便使用

10、动画嵌套UIview animation…

11、所有的if...else...都可以改成三目运算来简化

12、NSString的对象方法boundingRectWithSize:options:attributes:context,用于计算String所占的size

13、CGRectGetMaxy(CGRect)frame,返回frame最大的y值,其他类似

14、[UIScreen mainScreen]返回UIView

CGSize screenSize = [UIScreenmainScreen].bounds.size;返回主屏幕的size

15、transform是相对于原位置的形变属性,也就是说如果将某个对象的旋转了M_PI_2,如果要再转回去不是旋转-M_PI_2,而是0;

16、颜色

24bit色RGB(红绿蓝)

32bit色ARGB(alpha,红绿蓝)

[UIColorcolorWithRed:52/255.0fgreen:86/255.0blue:120/255.0alpha:255/255.0];

17UIAlertView

    // 1. 创建弹框

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"要更改的英雄" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

    /*

     UIAlertViewStyleDefault = 0,

     UIAlertViewStyleSecureTextInput,

     UIAlertViewStylePlainTextInput,

     UIAlertViewStyleLoginAndPasswordInput

     */

    // 2. 设置弹框的类型

    alert.alertViewStyle = UIAlertViewStylePlainTextInput;

    

    // 3. 设置弹框里de文本框的文字

    [alert textFieldAtIndex:0].text = hero.name;

    

    // 4.显示

    [alert show];


18、frame的设置时机

1>控件的init方法是没有frame的,通常不会设置子控件的frame,因为子控件的frame是根据父控件frame设置的,此时设置frame是没有任何意义的;通常控件的frame只有在init方法之后,frame是UIView的一个属性,只要设置frame肯定会调用到frame的setter方法,所以要设置子控件的frame起码得在父控件的frame的setter方法中,或者在之后。我们可以选择重写父控件的setter方法,在其中设置子控件frame。但是通常使用常用的方法是重写layoutSubViews

2>UIView的牛逼方法:layoutSubViews,当一个父控件的frame发生变化的时候,就会调用该方法,来重新对控件的子控件进行重新布局,当重写layoutSubViews的时候必须首先调用[super layoutSubViews];

19、#warning  警告内容,可以作为标记代码进度的方法

20、一个tableView的头和尾既可以放一个UIView,也可以放设置一个字符串做标题

21、用xib文件创建一个cell的时候重用的标示符是在xib文件当中设置的



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值