iOS之小知识点

一.创建ios新项目的时候需要填写的一些信息
1.Bundle Identifier :app的唯一标识


2.Company Identifier :公司的唯一标识,一般用公司的域名


3.Organization Name :组织名称


二.键盘的退出(ios不会自动退下键盘)
1.原则:谁调出键盘,谁隐藏键盘
2.方式1:某个控件不当第一响应者(就会把键盘退下),不推荐
[self.xxx resignFirstResponder];
3.方式2:让控件自杀,前提:需要控件在控制器管理的view中
[self.view endEditing:YES];


三.常见错误
1.报this class is not key value coding-compliant for the key xxx.说明是连线错误了


四.UIView常见属性
1.常见属性说明
@property(nonatomic) CGRect frame;//控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)




@property(nonatomic) CGRect bounds;
//
控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x\y一般为0)




@property(nonatomic) CGPoint center;
//
控件中点的位置(以父控件的左上角为坐标原点)
2.frame,center,bounds的区别
(1)frame:能修改位置和尺寸
(2)center:能修改位置
(3)bounds:能修改尺寸(x,y的值一般都是0)


五.修改结构体的三部曲
1.把原来的frame拿出来
CGRect tempFrame = self.btn.frame;
2.修改临时属性
tempFrame.origin.y -= 5;
3.重新赋值给原来的frame
self.btn.frame = tempFrame;


六.注释的使用
1.在方法上使用
#pragma mark 测试方法
- (IBAction) test {


}


七.描述软件界面两种方式
1.xib ios5之前使用
2.storyboard ios5之后推荐使用


八.strong,weak用法
1.strong用在一般对象的属性中
2.weak用在UI控件的属性中
例如:
@property (nonatomic,strong) NSArray *array;

@property (weak,nonatomic) IBOutlet UIButton *btn;


九.程序启动的时候隐藏状态栏,启动完成以后显示状态栏

1.启动的时候隐藏状态栏

iOS之小知识点_第1张图片

2.启动完成以后,显示状态栏

iOS之小知识点_第2张图片


十.ios之奇怪的语法

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    return 0;

}

//对比java的语法

public NSInteger tableView(UITableView tableView,NSInteger section) {

    return 0;

}

其实在OC中,方法名是tableView:  numberOfRowsInSection: ,一个冒号对应一个参数,这样是不是很好理解呢?


十一.@class关键字及#import

如果只是申明一个类,定义一个属性,可以直接用@class.这样做不会告诉编译器,被引用类中有哪些属性或方法可用

如果要用一个类中的方法,那么要用#import,这样做会告诉编译器,被引用的类中有哪些方法或属性可用

iOS之小知识点_第3张图片


十二.oc奇怪的->

iOS之小知识点_第4张图片


十三.查看系统api的返回值

方法:按住option键,然后点击某个方法即可弹出说明了


十四.加载xib文件的两种方式

1.方法一(NewsCell是xib文件的名称)

NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"NewsCell" owner:nil options:nil];

2.方法二(NewsCell是xib文件的名称)

UINib *nib = [UINib nibWithNibName:@"NewsCell" bundle:nil];

NSArray *objects = [nib instantiateWithOwner:nil options:nil];

设置cell的高度

1.如果每一行cell的高度都是一样的,直接使用tableView的rowHeight属性设置cell的高度即可

tableView.rowHeight = 80;

2.如果每一行cell的高度不是一样的,应该用代理方法设置cell的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    //返回indexPath这行对应cell的高度

    return80;

}


十五.自定义view中设置背景颜色

//

//  MTabBar.m

//  bmw

//

//  Created by skythinking on 16/4/10.

//  Copyright © 2016 skythinking. All rights reserved.

//


#import "MTabBar.h"


@implementation MTabBar


- (id)initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];

    if(self) {

        self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tabbar_background"]];

    }

    return self;

}



你可能感兴趣的:(ios)