ios 日常記錄-不定時更新

1.一行代碼收起鍵盤

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

2.取消tableview的分割線

TableView.separatorStyle = UITableViewCellAccessoryNone

3.取消頭部視圖跟隨效果

//切換tableview的style  UITableViewStyleGrouped頭部視圖不跟隨   

self.mainTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, kWidth, kHeight - 50) style:UITableViewStyleGrouped]

4.解決tableview視圖上移

方案一
self.automaticallyAdjustsScrollViewInsets = NO;// 默認是YES

方案二
self.edgesForExtendedLayout = UIRectEdgeNone;// 推薦使用

5.html字符串轉(zhuǎn)換成富文本

NSAttributedString *att = [[NSAttributedString alloc] initWithData:[model.detail dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];

通過設(shè)置控件的字體大小來改變字的大小伊佃,位置要放在給控件賦值之后

6.計算文本高度

-(CGSize)sizeWithString:(NSString *)string font:(UIFont *)font
{
    CGRect rect = [string boundingRectWithSize:CGSizeMake(kWidth-30,MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading  |NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: font} context:nil];
    
    return rect.size;
}

7.獲取點擊cell的indexpath

//獲取當(dāng)前點擊cell的row或者section
self.tableView.indexPathForSelectedRow.row
self.tableView.indexPathForSelectedRow.section

//獲取當(dāng)前點擊cell的indexpath
self.mainView.indexPathsForSelectedRows

8.設(shè)置label不同位置字體大小和顏色

//設(shè)置不同字體顏色
-(void)setTextColor:(UILabel *)label FontNumber:(id)font AndRange:(NSRange)range AndColor:(UIColor *)vaColor
{
    NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:label.text];
    //設(shè)置字號
    [str addAttribute:NSFontAttributeName value:font range:range];
    //設(shè)置文字顏色
    [str addAttribute:NSForegroundColorAttributeName value:vaColor range:range];
    
    label.attributedText = str;
}

9.UITextView :啟動時文字位置不從頂部開始

- (void)viewDidLayoutSubviews {
    [self.textView setContentOffset:CGPointZero animated:NO];
}

10.獲取HTML字符串的文本信息

-(NSString *)filterHTML:(NSString *)html
{
    NSScanner * scanner = [NSScanner scannerWithString:html];
    NSString * text = nil;
    while([scanner isAtEnd]==NO)
    {
        [scanner scanUpToString:@"<" intoString:nil];
        [scanner scanUpToString:@">" intoString:&text];
        html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>",text] withString:@""];
        //去除空格 &nbsp;
        html = [html stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@""];
    }
    return html;
}

11.隱藏導(dǎo)航欄返回按鈕

隱藏
self.navigationItem.leftBarButtonItem.customView.hidden = YES;
顯示
self.navigationItem.leftBarButtonItem.customView.hidden = NO;

12.QQ聊天背景圖片拉伸方法

+ (UIImage *)resizeWithImage:(UIImage *)image{
    CGFloat top = image.size.height/2.0;
    CGFloat left = image.size.width/2.0;
    CGFloat bottom = image.size.height/2.0;
    CGFloat right = image.size.width/2.0;
    return [image resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right)resizingMode:UIImageResizingModeStretch];
}

13.在控件內(nèi)部取消鍵盤第一響應(yīng)者

//在控件內(nèi)部取消鍵盤第一響應(yīng)者
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

14.獲取cell在相對視圖上的位置

NSIndexPath *index = [self.mainView indexPathForCell:cell];
CGRect rect = [self.mainView rectForRowAtIndexPath:index];
CGRect touchRct = [self.mainView convertRect:rect toView:self.view];

15.解決導(dǎo)航欄照片虛化放大

[self.rightBtn.widthAnchor constraintEqualToConstant:25].active = YES;
[self.rightBtn.heightAnchor constraintEqualToConstant:25].active = YES;

16.點擊圖片放大,再次點擊縮小

/**
 * @brief 點擊圖片放大,再次點擊縮小
 * @param avatarImageView 頭像所在的imageView
 */
+(void)showImage:(UIImageView*)avatarImageView

{
    
    UIImage *image =avatarImageView.image;
    
    UIWindow *window =[UIApplication sharedApplication].keyWindow;
    UIView *backgroundView =[[UIView alloc]initWithFrame:CGRectMake(0, 0, myWidth, myHeight)];
    
    oldframe =[avatarImageView convertRect:avatarImageView.bounds toView:window];
    
    backgroundView.backgroundColor =[UIColor blackColor];
    
    backgroundView.alpha =0.5;
    
    UIImageView *imageView =[[UIImageView alloc]initWithFrame:oldframe];
    
    imageView.image =image;
    
    imageView.tag =1;
    
    [backgroundView addSubview:imageView];
    
    [window addSubview:backgroundView];
    
    //點擊圖片縮小的手勢
    
    UITapGestureRecognizer *tap =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];
    
    [backgroundView addGestureRecognizer:tap];
    
    
    
    [UIView animateWithDuration:0.3 animations:^{
        
        imageView.frame =CGRectMake(0,([UIScreen mainScreen].bounds.size.height-image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width)/2, [UIScreen mainScreen].bounds.size.width, image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width);
        
        backgroundView.alpha =1;
        
    }];
    
}

+(void)hideImage:(UITapGestureRecognizer *)tap{
    
    UIView *backgroundView =tap.view;
    
    UIImageView *imageView =(UIImageView *)[tap.view viewWithTag:1];
    
    [UIView animateWithDuration:0.3 animations:^{
        
        imageView.frame =oldframe;
        
        backgroundView.alpha =0;
        
        
        
    } completion:^(BOOL finished) {
        
        [backgroundView removeFromSuperview];
        
    }];
    
}

17.判斷字符串時候含有鍵盤表情

//判斷字符串時候含有鍵盤表情
+ (BOOL)stringContainsEmoji:(NSString *)string
{
    __block BOOL returnValue = NO;
    
    [string enumerateSubstringsInRange:NSMakeRange(0, [string length])
                               options:NSStringEnumerationByComposedCharacterSequences
                            usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
                                const unichar hs = [substring characterAtIndex:0];
                                if (0xd800 <= hs && hs <= 0xdbff) {
                                    if (substring.length > 1) {
                                        const unichar ls = [substring characterAtIndex:1];
                                        const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
                                        if (0x1d000 <= uc && uc <= 0x1f77f) {
                                            returnValue = YES;
                                        }
                                    }
                                } else if (substring.length > 1) {
                                    const unichar ls = [substring characterAtIndex:1];
                                    if (ls == 0x20e3) {
                                        returnValue = YES;
                                    }
                                } else {
                                    if (0x2100 <= hs && hs <= 0x27ff) {
                                        returnValue = YES;
                                    } else if (0x2B05 <= hs && hs <= 0x2b07) {
                                        returnValue = YES;
                                    } else if (0x2934 <= hs && hs <= 0x2935) {
                                        returnValue = YES;
                                    } else if (0x3297 <= hs && hs <= 0x3299) {
                                        returnValue = YES;
                                    } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) {
                                        returnValue = YES;
                                    }
                                }
                            }];
    
    return returnValue;
}

//判斷是否有emoji
-(BOOL)stringContainsEmoji
{
    __block BOOL returnValue = NO;
    
    [self enumerateSubstringsInRange:NSMakeRange(0, [self length])
                             options:NSStringEnumerationByComposedCharacterSequences
                          usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
                              const unichar high = [substring characterAtIndex: 0];
                              
                              // Surrogate pair (U+1D000-1F9FF)
                              if (0xD800 <= high && high <= 0xDBFF) {
                                  const unichar low = [substring characterAtIndex: 1];
                                  const int codepoint = ((high - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
                                  
                                  if (0x1D000 <= codepoint && codepoint <= 0x1F9FF){
                                      returnValue = YES;
                                  }
                                  
                                  // Not surrogate pair (U+2100-27BF)
                              } else {
                                  if (0x2100 <= high && high <= 0x27BF){
                                      returnValue = YES;
                                  }
                              }
                          }];
    
    return returnValue;
}

18 將輸出日志打印到文件

- (void)redirectNSLogToDocumentFolder

{

 //如果已經(jīng)連接Xcode調(diào)試則不輸出到文件

 if(isatty(STDOUT_FILENO)) {

 return;

 }

 UIDevice *device = [UIDevice currentDevice];

 if([[device model] hasSuffix:@"Simulator"]){ //在模擬器不保存到文件中

 return;

 }

 //將NSlog打印信息保存到Document目錄下的Log文件夾下

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

 NSString *logDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Log"];

 NSFileManager *fileManager = [NSFileManager defaultManager];

 BOOL fileExists = [fileManager fileExistsAtPath:logDirectory];

 if (!fileExists) {

 [fileManager createDirectoryAtPath:logDirectory withIntermediateDirectories:YES attributes:nil error:nil];

 }

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

 [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];

 [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //每次啟動后都保存一個新的日志文件中

 NSString *dateStr = [formatter stringFromDate:[NSDate date]];

 NSString *logFilePath = [logDirectory stringByAppendingFormat:@"/%@.log",dateStr];

 // 將log輸入到文件

 freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);

 freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);

 //未捕獲的Objective-C異常日志

 NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);

}

void UncaughtExceptionHandler(NSException* exception)

{

 NSString* name = [ exception name ];

 NSString* reason = [ exception reason ];

 NSArray* symbols = [ exception callStackSymbols ]; // 異常發(fā)生時的調(diào)用棧

 NSMutableString* strSymbols = [ [ NSMutableString alloc ] init ]; //將調(diào)用棧拼成輸出日志的字符串

 for ( NSString* item in symbols )

 {

 [ strSymbols appendString: item ];

 [ strSymbols appendString: @"\r\n" ];

 }

 //將crash日志保存到Document目錄下的Log文件夾下

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

 NSString *logDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Log"];

 NSFileManager *fileManager = [NSFileManager defaultManager];

 if (![fileManager fileExistsAtPath:logDirectory]) {

 [fileManager createDirectoryAtPath:logDirectory withIntermediateDirectories:YES attributes:nil error:nil];

 }

 NSString *logFilePath = [logDirectory stringByAppendingPathComponent:@"UncaughtException.log"];

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

 [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];

 [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

 NSString *dateStr = [formatter stringFromDate:[NSDate date]];

 NSString *crashString = [NSString stringWithFormat:@"<- %@ ->[ Uncaught Exception ]\r\nName: %@, Reason: %@\r\n[ Fe Symbols Start ]\r\n%@[ Fe Symbols End ]\r\n\r\n", dateStr, name, reason, strSymbols];

 //把錯誤日志寫到文件中

 if (![fileManager fileExistsAtPath:logFilePath]) {

 [crashString writeToFile:logFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

 }else{

 NSFileHandle *outFile = [NSFileHandle fileHandleForWritingAtPath:logFilePath];

 [outFile seekToEndOfFile];

 [outFile writeData:[crashString dataUsingEncoding:NSUTF8StringEncoding]];

 [outFile closeFile];

 }

 //把錯誤日志發(fā)送到郵箱

 // NSString *urlStr = [NSString stringWithFormat:@"[mailto://test@163.com?subject=bug](mailto:mailto://test@163.com?subject=bug)報告&body=感謝您的配合!<br><br><br>錯誤詳情:<br>%@",crashString ];

 // NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

 // [[UIApplication sharedApplication] openURL:url];

}

//錢格式轉(zhuǎn)換
- (NSString *)getAmountInWords:(NSString *)money{
    if (money.length == 0) {
        return @"";
    }
    if (money.floatValue == 0) {
        return @"零圓整";
    }
    //大寫數(shù)字
    NSArray *upperArray = @[ @"零",@"壹",@"貳",@"叁",@"肆",@"伍",@"陸",@"柒",@"捌",@"玖" ];
    /** 整數(shù)部分的單位 */
    NSArray *measureArray = @[ @"", @"拾", @"佰", @"仟"];
    /** 整數(shù)部分的單位 */
    NSArray *intUnit = @[@"圓", @"萬", @"億"];
    /** 小數(shù)部分的單位 */
    NSArray *floatUnitArray = @[ @"角", @"分" ];
    
    NSString *upIntNum = [NSString string];
    NSString *upFloatNum = [NSString string];
    NSArray *numArray = [money componentsSeparatedByString:@"."];
    
    NSString *str1 = [numArray objectAtIndex:0];
    NSInteger num1 = str1.integerValue;
    for (int i = 0; i < intUnit.count && num1 > 0; i++) {//這一部分就是單純的轉(zhuǎn)化
        NSString *temp = @"";
        int tempNum = num1%10000;
        if (tempNum != 0 || i == 0) {
            for (int j = 0; j < measureArray.count && num1 > 0; j++) {
                temp = [NSString stringWithFormat:@"%@%@%@", [upperArray objectAtIndex:num1%10], [measureArray objectAtIndex:j],temp];//每次轉(zhuǎn)化最后一位數(shù)
                num1 = num1/10;//數(shù)字除以10
            }
            upIntNum = [[temp stringByAppendingString:[intUnit objectAtIndex:i]] stringByAppendingString:upIntNum];
        } else {
            num1 /= 10000;
            temp = @"零";
            upIntNum = [temp stringByAppendingString:upIntNum];
        }
        
    }
    
    for (int m = 1; m < measureArray.count; m++) { //把零佰零仟這種情況轉(zhuǎn)為零
        NSString *lingUnit = [@"零" stringByAppendingString:[measureArray objectAtIndex:m]];
        upIntNum = [upIntNum stringByReplacingOccurrencesOfString:lingUnit withString:@"零"];
    }
    
    while ([upIntNum rangeOfString:@"零零"].location != NSNotFound) {//多個零相鄰的保留一個零
        upIntNum = [upIntNum stringByReplacingOccurrencesOfString:@"零零" withString:@"零"];
    }
    for (int k = 0; k < intUnit.count * 2; k++) { //零萬洞豁、零億這種情況轉(zhuǎn)化為萬零
        NSString *unit = [intUnit objectAtIndex:k%intUnit.count];
        NSString *lingUnit = [@"零" stringByAppendingString:unit];
        upIntNum = [upIntNum stringByReplacingOccurrencesOfString:lingUnit withString:[unit stringByAppendingString:@"零"]];
    }
    
    if (numArray.count == 2) {//小數(shù)部分轉(zhuǎn)化
        NSString *floatStr = [numArray objectAtIndex:1];
        for (NSInteger i = floatStr.length; i > 0; i--) {
            NSString *temp = [floatStr substringWithRange:NSMakeRange(floatStr.length - i, 1)];
            NSInteger tempNum = temp.integerValue;
            if (tempNum == 0) continue;
            NSString *upNum = [upperArray objectAtIndex:tempNum];
            NSString *unit = [floatUnitArray objectAtIndex:floatStr.length - i];
            if (i < floatStr.length && upFloatNum.length == 0 && upIntNum.length > 0) {
                upFloatNum = @"零";
            }
            upFloatNum = [NSString stringWithFormat:@"%@%@%@", upFloatNum, upNum, unit];
        }
    }
    if (upFloatNum.length == 0) {
        upFloatNum = @"整";
    }
    
    NSString *amountInWords = [NSString stringWithFormat:@"%@%@", upIntNum, upFloatNum];
    
    while ([amountInWords rangeOfString:@"零零"].location != NSNotFound) {//再次除去多余的零
        amountInWords = [amountInWords stringByReplacingOccurrencesOfString:@"零零" withString:@"零"];
    }
    
    if ([amountInWords rangeOfString:@"零整"].location != NSNotFound) {
        amountInWords = [amountInWords stringByReplacingOccurrencesOfString:@"零整" withString:@"整"];
    }
    
    return amountInWords;
    
}

獲取準(zhǔn)確的手機內(nèi)存

+ (float)freeDiskSpaceInBytes2
{
    if (@available(iOS 11.0, *)) {
        [NSURL alloc];
        NSURL * url = [[NSURL alloc]initFileURLWithPath:[NSString stringWithFormat:@"%@",NSHomeDirectory()]];
        NSError * error = nil;
        NSDictionary<NSURLResourceKey, id> * dict = [url resourceValuesForKeys:@[NSURLVolumeAvailableCapacityForImportantUsageKey] error:&error];
        if (error) {
            return 0;
        }
        float space = [dict[NSURLVolumeAvailableCapacityForImportantUsageKey] floatValue];
        return space;
    } else {
        NSError * error = nil;
        NSDictionary<NSFileAttributeKey, id> * systemAttributes =  [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];
        if (error) {
            return 0;
        }
        float space = [systemAttributes[NSFileSystemFreeSize] floatValue];
        return space;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末应役,一起剝皮案震驚了整個濱河市诊胞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌睦授,老刑警劉巖两芳,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異去枷,居然都是意外死亡盗扇,警方通過查閱死者的電腦和手機祷肯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疗隶,“玉大人佑笋,你說我怎么就攤上這事“弑牵” “怎么了蒋纬?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坚弱。 經(jīng)常有香客問我蜀备,道長,這世上最難降的妖魔是什么荒叶? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任碾阁,我火速辦了婚禮,結(jié)果婚禮上些楣,老公的妹妹穿的比我還像新娘脂凶。我一直安慰自己,他們只是感情好愁茁,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布蚕钦。 她就那樣靜靜地躺著,像睡著了一般鹅很。 火紅的嫁衣襯著肌膚如雪嘶居。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天促煮,我揣著相機與錄音邮屁,去河邊找鬼。 笑死菠齿,一個胖子當(dāng)著我的面吹牛佑吝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泞当,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼民珍!你這毒婦竟也來了襟士?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤嚷量,失蹤者是張志新(化名)和其女友劉穎陋桂,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝶溶,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡嗜历,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年宣渗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梨州。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡痕囱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出暴匠,到底是詐尸還是另有隱情鞍恢,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布每窖,位于F島的核電站帮掉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窒典。R本人自食惡果不足惜蟆炊,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瀑志。 院中可真熱鬧涩搓,春花似錦、人聲如沸后室。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岸霹。三九已至疾层,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贡避,已是汗流浹背痛黎。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留刮吧,地道東北人湖饱。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像杀捻,于是被迫代替她去往敵國和親井厌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

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

  • 就在昨天致讥,老媽和我微信視頻仅仆,說:聽說你買了一輛車」父ぃ可不是嗎墓拜?我終于買了一輛自行車。哈哈哈哈请契,兩人不約大笑咳榜。 我買了...
    木木木俠閱讀 959評論 0 4
  • 金燦燦的玉米囤滿農(nóng)家的庭院 紅通通的小棗晾曬在屋前院后 黑黝黝的豆兒裝好袋子聚在屋檐下 豐收夏醉!今年的秋,農(nóng)家院落顯...
    豐盈倉廩閱讀 842評論 0 0
  • 寒風(fēng)凜冽,寒氣襲人,枯草蕭疏,綠色盡失,今年的冬天如此蒼白凄涼且冷漠. M點燃一支煙祈搜,吞云吐霧起來蔫缸,一圈圈的煙霧,...
    幽谷泉涌閱讀 856評論 0 1
  • 01 大熊和小琪是大學(xué)同學(xué)乡小,也是我認識的人里擎淤,唯一一對畢業(yè)季在一起奢啥,結(jié)果談了三年異地戀的戀人。 上周末嘴拢,大熊還是失...
    子小洛閱讀 3,823評論 47 61