iOS小知识点总结

1.打印:

有时候在查找错误的时候经常会需要打印一些变量,根据变量的不同类型采取不同的打印方法,下面举2个经常用到的例子:

(1)打印frame:

                UIView *view=[[UIView alloc]initWithFrame:CGRectMake(20,30,40,50)];

                NSLog(NSStringFromCGRect(view.frame),nil);

打印结果如下:


(2)标准化打印字符串:

             NSString *string=@"5";

              NSString *string1=[NSString  stringWithFormat:@"%@",string];

              NSLog(@"string1:%@",string1);

打印结果如下:


(3)打印BOOL类型用%d

2.有关button的点击事件

自定义一个button:

UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(2, 2,30,30)];

 [button addTarget:self   action:@selector(sideButtonsClicked:)forControlEvents:UIControlEventTouchUpInside];

        button.tag =1;

//button点击事件,要通过btn的tag识别,此时sender是id类型的,要进行强制类型转化才可以使用其tag属性

-(void)sideButtonsClicked:(id)sender{

          UIButton *button=(UIButton *)sender;

         if (button.tag==1) {

         NSLog(@"tag:%d",button.tag);

       }


}

3.有nib文件时的初始化

注意在

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

方法里进行nib的初始化是没有效果,不执行的。应该在

-(void)awakeFromNib方法里面进行初始化。这是系统自带的函数。但是若没有nib文件,就不能再用这个方法。得自己写个初始化方法

4.有时候要实现label显示的文字颜色颜色不一样的效果,如图所示:

,那么应该如何更加简洁的实现呢?

解决办法如下:

(1)首先在工程中导入包:Build Phases——>点击“+”——>找到CoreText.framework这个包,把它加进工程中

(2)导入两个文件TTTAttributedLabel.h和TTTAttributedLabel.m,这两个文件请到

http://download.csdn.net/detail/xumingwei12345/6827723

下载即可

(3)在你所要实现这种效果的.h文件里面

导入TTTAttributedLabel.h文件:#import"TTTAttributedLabel.h"

定义一个继承TTTAttributedLabel的变量:TTTAttributedLabel   *songJfbNumLabel;

在你所要实现这种效果的.m文件里面初始化:

  songJfbNumLabel = [[TTTAttributedLabel  alloc]initWithFrame:CGRectMake(51,29,196,14)];//初始化

    [songJfbNumLabel  setFont:[UIFont  boldSystemFontOfSize:14]];//设置字体14号加粗

    songJfbNumLabel.textAlignment =UITextAlignmentLeft;//设置文字左对齐

    [songJfbNumLabel  setBackgroundColor:[UIColor  clearColor]];

    songJfbNumLabel.textColor = [UIColor  blackColor];//设置整个label字体的颜色为黑色

    [selfaddSubview:songJfbNumLabel];


//处理label的显示样式:文字为黑色,数字为红色

 NSString *songNum=@"60";

 NSString *text2 = [NSString  stringWithFormat:@"%@",songNum];//songJfbNumLabel上面将要显示的文字内容

[songJfbNumLabel  setText:text2   afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) {

        

        [mutableAttributedString addAttribute:(NSString*)kCTForegroundColorAttributeNamevalue:(id)[UIColor  redColor].CGColorrange:NSMakeRange(text2.length-1-songNum.length,songNum.length)];//redColor代表个数的颜色;NSMakeRange()是一个区间,代表显示红色部分的范围

         return mutableAttributedString;

    }];

5.如何给label上的文字加上2像素的白色投影

label自带的属性:

只需要将(1)shadow选项变为:whiteColor (2)将Vertical选项变为:2

6.如何在定义一个属性的时候更加便捷

以前:我们通常会在.h文件里面:

 UIButton *button;

@property(nonatomic ,retain)IBOutletUIButton *button;

在.m文件里面

@synthesize button;

[button      release];

在xib文件里面连接操作

现在:我们可以采取以下办法快速简洁的定义一个属性并且建立连接

(1)在工程的最右边选中像人体器官的图形


(2)选中以后视图会变成下面的样子。然后拖一个button控件到xib文件上面


(3)按住Ctrol键,用鼠标将xib文件上面button控件拖拽到.h文件的UIViewController里面

(4)完成(3)操作以后会发现弹出一个窗口,在里面输入变量的名称即可,例如“connectBtn”


(5)完成(4)以后,点击connect键。会出现下面所示的图。至此定义变量和建立连接全部完成。你不用在写任何代码,也不用释放。点击.m文件你会发现dealloc方法里面 已经帮你释放了。



7.在ios7上怎样实现创建的工程有xib文件

(1)File——>New——>Project——>Empty Application


(2)New File——>Objective-C class


(3)在AppDelegate.m里面用代码建立连接


(4)将新建的NewViewController.xib背景变为红色,可以看到效果如下:


8.UILabel属性的设置

字号:一般情况下使用的是systemFontOfSize,比如设置字号是15.那么可以设置如下

label.font=[UIFont  systemFontOfSize:15];

如果要设置加粗15号,那么可以设置如下:

label.font=[UIFont   boldSystemFontOfSize:15];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值