百思不得姐学习笔记前三天

来源:互联网 发布:java字符串首字母小写 编辑:程序博客网 时间:2024/04/30 00:45

在头文件看到方法名后面带有UI_APPEARANCE_SELECTOR 这个宏的可以考虑设置单个的appearance,则所有的item都会被设置.

当某个成员属性是readOnly 而我们又需要改变的话可以想到使用KVC,场景:自定义tabBar!

在分类里面声明@property 只会生成方法的声明,不会生成方法的实现和带有"_"的成员变量;

导航栏标题不显示  要明白 要显示的导航栏的导航标题是当前显示的VC控制器的navigtionitem.title

xib对label换行的方式就是option+return;代码就是直接\n

对普通的视图控制器(尤其是被tabBarController管理的)而言:self.title 与 self.tabBarItem.title   和self.navgitionItem.title 相等.所以,不要轻易使用self.title  ,写清楚一点,



配置pch心得:除了把Precomplie Prefix header改为yes之外,就是讲pch拖进项目里,然后将项目名文件夹之前的路径改为$(SRCROOT)

从数组取出的对象是ID类型的,是不能用点语法的,此时我们应该用 中括号方法


Block里面的网络请求不会随着控制器的pop回去而停止,为了防止这种情况的页面crash,我们可以将AFNSessionManager设置为强引用的属性,然后在dealloc里面写上.[AFNsessionManager.operationQuene cancelAllOperation]


有的时候更改系统控件的frame没有变化的时候,可以想到重写其子类的frame和bounds来实现,出现这种状况是系统在重新添加父控件的时候对其被更改的frame进行覆盖,所以我们可以更改其子类的set方法来实现需求

在ios7.0之前,状态栏是交给UIApplication控制的,在ios7.0之后,状态栏是由控制器控制的.更改单个控制器的状态栏,可以通过重写

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}这个方法来实现.


当服务器通过传入page这个参数来给我们控制是上拉还是下拉的时候,我们的判断情况会非常复杂,比如用户执行上拉,上啦数据没完成又跑去执行下拉;亦或者执行完上啦,网速不好,这时候我们都需要判断,

针对用户执行上拉,上啦数据没完成又跑去执行下拉的导致的请求不一致的情况,我们要想到用一个字典属性来接受分别传入的参数,当self.parasDic != 局部变量paraDic的时候,我们以最终传入的参数为主.

 // 结束上啦    [self.tableView.footer endRefreshing];        // 参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"a"] = @"list";    params[@"c"] = @"data";    params[@"type"] = @"29";    self.params = params;        // 发送请求    [[AFHTTPSessionManager manager] GET:@"http://api.budejie.com/api/api_open.php" parameters:params success:^(NSURLSessionDataTask *task, NSDictionary *responseObject) {        if (self.params != params) return;        


针对一些有阴影效果的UITableViewCell,我们可以去看看美工是否提供图片,如果提供图片,则在XIB的- (void)awakeFromNib
{
    UIImageView *bgView = [[UIImageView alloc] init];
    bgView.image = [UIImage imageNamed:@"mainCellBackground"];//用这个方法直接默认就是图片大小,要防止图片失真哦
    self.backgroundView = bgView;//
},则防止图片失真,进入图片的




以诸如button这类复合控件的子控件布局的控件如果不出现在UI界面上,我们可以考虑调用UIButton的 layoutIfNeed方法.


不要轻易更改控件的alphy,因为一旦控件的透明度被改变,则其子控件的透明度也会被改变,因此我们的思路除了让美工提供半透明的图片,还可以想到使自身的背景色的透明度被改变.

1>穿透效果要考虑子控件布局顺序,和scollVIew.contenInset = UIEdgeInsetMake(,,,,);


1 0