title: ios学习笔记-3
date: 2016-01-26 13:02:32
categories: ios

tags: [ios, 笔记]

iOS开发笔记-3

关于Masonry包

#import <Masonry.h>
不是#import "Masonry.h"

设置section之间的背景颜色

- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section {
    //设置section之间的背景颜色
    view.tintColor = kThemeHomePageBackgroundColor;
    }

cell.accessoryView 无法获取

在写cell的页面的时候,使用了系统自带右侧的箭头的cell格式:
cell.accessoryType=UITableViewCellAccessoryNone;
然后如下图所示,想在右侧箭头左边加label,在使用Masonry相对布局获取accessoryView的mas_left的时候获取不到,其他属性也获取不到。不知道什么原因。准备去stackoverflow问一下,如果得到了回答就把答案更新到这里。

本地存取

  • 取:
    [[NSUserDefaults standardUserDefaults] boolForKey:bool键];
    [[NSUserDefaults standardUserDefaults] stringForKey:键];
  • 存:
    [[NSUserDefaults standardUserDefaults] setBool:bool值 forKey:bool键];
    [[NSUserDefaults standardUserDefaults] setValue:值 forKey:键];

设置button颜色

不是用[button.title.label setTextColor...];
而是用[button setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal];

设置让tableviewL里面的某个cell不可选中

cell.selectionStyle = NO;

数据库操作时遇到的问题

之前写数据库的时候,新建了一个表,可以正常增删改查。后来觉得表的某一列的列名起的不好,于是在代码中把列名改了,然后就不能正常操作数据库了。这时候应该去sqlite中把表删除(或者直接卸载掉APP)然后让程序重新建表就可以了。

截取字符串

NSLog(@"%@",[str substringFromIndex:2]);//从指定的字符串开始到尾部
NSLog(@"%@",[str substringToIndex:5]);//是开始位置截取到指定位置但是不包含指定位置
NSLog(@"%@",[str substringWithRange:NSMakeRange(2, 3)]);//按照给定的NSRang字符串截取自串的宽度和位置
NSArray *arry=[str componentsSeparatedByString:@"="];//字符串分割

显示网络图片

+ (UIImage *)loadImage
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    UIImage *image = [[UIImage alloc] initWithContentsOfFile:[[documentsDirectory stringByAppendingString:@"/image"] stringByAppendingString:@"/default.png"]];
    if (image) {
        return image;
    }else{
        return [UIImage imageNamed:@"image"];
    }
    return image;
}

iOS时间戳

其实项目并没有用到,就直接抄的网上的,回头好好研究~

//设置时间显示格式:  
    NSString* timeStr = @"2011-01-26 17:40:50";  
    NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];  
    [formatter setDateStyle:NSDateFormatterMediumStyle];  
    [formatter setTimeStyle:NSDateFormatterShortStyle];     
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; //设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
//设置时区
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];  
    [formatter setTimeZone:timeZone];
    NSDate* date = [formatter dateFromString:timeStr]; //将字符串按formatter转成nsdate
    NSDate *datenow = [NSDate date];//现在时间,你可以输出来看下是什么格式
    NSString *nowtimeStr = [formatter stringFromDate:datenow];//将nsdate按formatter格式转成nsstring
//时间转时间戳的方法:  
    NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[datenow timeIntervalSince1970]];  
    NSLog(@"timeSp:%@",timeSp); //时间戳的值
//时间戳转时间的方法  
    NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:1296035591];  
    NSLog(@"1296035591  = %@",confromTimesp);        
    NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];  
    NSLog(@"confromTimespStr =  %@",confromTimespStr);  
    //时间戳转时间的方法:  
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];  
    [formatter setDateStyle:NSDateFormatterMediumStyle];  
    [formatter setTimeStyle:NSDateFormatterShortStyle];  
    [formatter setDateFormat:@"yyyyMMddHHMMss"];  
    NSDate *date = [formatter dateFromString:@"1283376197"];  
    NSLog(@"date1:%@",date);  
    [formatter release];