iOS 學(xué)習(xí)筆記

  • (void)viewDidLoad {
    //增加監(jiān)聽孝情,當(dāng)鍵盤出現(xiàn)或改變時(shí)收出消息
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];

//增加監(jiān)聽,當(dāng)鍵退出時(shí)收出消息
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//當(dāng)鍵盤出現(xiàn)或改變時(shí)調(diào)用

  • (void)keyboardWillShow:(NSNotification *)aNotification
    {
    //獲取鍵盤的高度
    NSDictionary *userInfo = [aNotification userInfo];
    NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect keyboardRect = [aValue CGRectValue];
    int height = keyboardRect.size.height;
    NSLog(@"==%d",height);
    }

//當(dāng)鍵退出時(shí)調(diào)用

  • (void)keyboardWillHide:(NSNotification *)aNotification{}

//獲取鍵盤的高度
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
NSLog(@"===%d",height);
// 獲取鍵盤彈出動(dòng)畫時(shí)間
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];

 NSLog(@"鍵盤彈起的時(shí)間===%@",animationDurationValue);

UIGraphics

  • (void)drawViewsWithRect:(CGRect)rect
    {
    self.backgroundColor = [UIColor whiteColor];
    UIImageView *ima = [[UIImageView alloc] initWithFrame:rect];
    UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0);
    UIImage *myIma = _iconImage;
    [myIma drawInRect:CGRectMake(20, 5, 34, 34)];
    NSString *nameStr = _nameString;
    [nameStr drawInRect:CGRectMake(60, 5, 200, 34) withAttributes:@{NSFontAttributeName: [UIFont fontWithName: @"Zapfino" size: 15]}];
    UIImage* im = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    ima.image = im;
    [self addSubview:ima];
    NSLog(@"%s",FUNCTION)
    }

屏幕刷新

_disPlayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateWave:)];
_disPlayLink.frameInterval = 3;//刷新頻率 1-60 2-30 3-20
[_disPlayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
/**
保持和屏幕的刷新速度相同伊佃,iphone的刷新速度是60Hz,即每秒60次的刷新
*/
-(void)updateWave:(CADisplayLink *)link
{
}

  • (void)viewDidLoad {
    NSString *str = @"000068976897230253444b2076657273696f00106e3a322e302e302835613837356261290020776966693a312e30";
    NSString *charStr = [self convertHexStrToString:str];
    NSLog(@"%@",charStr);
    }

//16進(jìn)制轉(zhuǎn)字符串

  • (NSString *)convertHexStrToString:(NSString *)str {
    if (!str || [str length] == 0) {
    return nil;
    }

NSMutableData *hexData = [[NSMutableData alloc] initWithCapacity:8];
NSRange range;
if ([str length] % 2 == 0) {
range = NSMakeRange(0, 2);
} else {
range = NSMakeRange(0, 1);
}
for (NSInteger i = range.location; i < [str length]; i += 2) {
unsigned int anInt;
NSString *hexCharStr = [str substringWithRange:range];
NSNumber *nb = [self numberHexString:hexCharStr];
NSScanner *scanner = [[NSScanner alloc] initWithString:hexCharStr];
[scanner scanHexInt:&anInt];
NSData *entity = [[NSData alloc] initWithBytes:&anInt length:1];
if ([nb integerValue] > 32 && [nb integerValue] < 127)
{
[hexData appendData:entity];
}
range.location += range.length;
range.length = 2;
}
NSString *string = [[NSString alloc]initWithData:hexData encoding:NSASCIIStringEncoding];
return string;
}

//16進(jìn)制轉(zhuǎn)10進(jìn)制

  • (NSNumber *) numberHexString:(NSString *)aHexString
    {
    // 為空,直接返回.
    if (nil == aHexString)
    {
    return nil;
    }
    NSScanner * scanner = [NSScanner scannerWithString:aHexString];
    unsigned long long longlongValue;
    [scanner scanHexLongLong:&longlongValue];
    //將整數(shù)轉(zhuǎn)換為NSNumber,存儲(chǔ)到數(shù)組中,并返回.
    NSNumber * hexNumber = [NSNumber numberWithLongLong:longlongValue];
    return hexNumber;
    }

//語(yǔ)音合成

import <AVFoundation/AVFoundation.h>

AVSpeechSynthesizer *synth2 = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance1 = [AVSpeechUtterance speechUtteranceWithString:@" 你瞅啥,瞅你咋滴"];//播放語(yǔ)
AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"];//漢語(yǔ)
utterance1.voice = voice;
utterance1.rate = 0.5;//語(yǔ)速
[synth2 speakUtterance:utterance1];//播放

//一篇介紹音頻的帖子

http://www.cnblogs.com/SunnyOMGi/p/5620762.html

//判斷文件是否已經(jīng)在沙盒中已經(jīng)存在一忱?

-(BOOL) isFileExist:(NSString *)fileName
{
//NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);//判斷Caches
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);//判斷Document
NSString *path = [paths objectAtIndex:0];
NSString *filePath = [path stringByAppendingPathComponent:fileName];
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL result = [fileManager fileExistsAtPath:filePath];
NSLog(@"這個(gè)文件已經(jīng)存在:%@",result?@"是的":@"不存在");
return result;
}

- (void)setupTextView
{
    UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 100, [UIScreen mainScreen].bounds.size.width, 100];

    [textView setBackgroundColor:[UIColor greenColor]];
    [self.view addSubview:textView];
    
    // _placeholderLabel
    UILabel *placeHolderLabel = [[UILabel alloc] init];
    placeHolderLabel.text = @"請(qǐng)輸入內(nèi)容";
    placeHolderLabel.numberOfLines = 0;
    placeHolderLabel.textColor = [UIColor lightGrayColor];
    [placeHolderLabel sizeToFit];
    [textView addSubview:placeHolderLabel];

    // same font
    textView.font = [UIFont systemFontOfSize:13.f];
    placeHolderLabel.font = [UIFont systemFontOfSize:13.f];

    [textView setValue:placeHolderLabel forKey:@"_placeholderLabel"];
}

判斷最后一個(gè)cell

 if indexPath.row == (tableView.numberOfRows(inSection: indexPath.section)  - 1){}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末龟糕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子广辰,更是在濱河造成了極大的恐慌,老刑警劉巖主之,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件择吊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡槽奕,警方通過(guò)查閱死者的電腦和手機(jī)几睛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)史翘,“玉大人枉长,你說(shuō)我怎么就攤上這事∏矸恚” “怎么了必峰?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)钻蹬。 經(jīng)常有香客問(wèn)我吼蚁,道長(zhǎng),這世上最難降的妖魔是什么问欠? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任肝匆,我火速辦了婚禮,結(jié)果婚禮上顺献,老公的妹妹穿的比我還像新娘旗国。我一直安慰自己,他們只是感情好注整,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布能曾。 她就那樣靜靜地躺著,像睡著了一般肿轨。 火紅的嫁衣襯著肌膚如雪寿冕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天椒袍,我揣著相機(jī)與錄音驼唱,去河邊找鬼。 笑死驹暑,一個(gè)胖子當(dāng)著我的面吹牛玫恳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播优俘,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼纽窟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了兼吓?” 一聲冷哼從身側(cè)響起臂港,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎视搏,沒(méi)想到半個(gè)月后审孽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浑娜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年佑力,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筋遭。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡打颤,死狀恐怖暴拄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情编饺,我是刑警寧澤乖篷,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站透且,受9級(jí)特大地震影響撕蔼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜秽誊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一鲸沮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锅论,春花似錦讼溺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至耘纱,卻和暖如春敬肚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背束析。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工艳馒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人员寇。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓弄慰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蝶锋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子陆爽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容