自定義圓環(huán)酬蹋,可轉(zhuǎn)動(dòng)及老,可點(diǎn)擊抽莱,中間可自定義圖片

一個(gè)自定義的圓環(huán),可轉(zhuǎn)動(dòng)骄恶,給每個(gè)按鈕添加跳轉(zhuǎn)或者事件食铐,自己加了一些點(diǎn)擊時(shí)播放系統(tǒng)的聲音和振動(dòng),直接上代碼僧鲁,粘貼復(fù)制可用:


.h文件:

.m文件:


定義的變量


#pragma mark -? 加子視圖

- (void)addSubviewWithSubView:(NSArray *)imageArray andTitle:(NSArray *)titleArray andSize:(CGSize)size andCenterImage:(UIImage *)centerImage

{

_subViewSize=size;

_numOfSubView = (CGFloat)titleArray.count;

btnArray = [[NSMutableArray alloc]init];

for(NSInteger i=0; i<_numOfSubView ;i++){

UIButton *button=[[UIButton alloc] initWithFrame:CGRectMake(20*Width, 20*Width, size.width*Width, size.height*Height)];

[button setImage:imageArray[i] forState:UIControlStateNormal];

//設(shè)置image在button上的位置(上top虐呻,左left,下bottom悔捶,右right)這里可以寫負(fù)值铃慷,對(duì)上寫-5单芜,那么image就象上移動(dòng)5個(gè)像素

[button setTitle:titleArray[i] forState:UIControlStateNormal];

[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

button.titleLabel.font = [UIFont systemFontOfSize:16*Width];

button.titleLabel.textAlignment = NSTextAlignmentCenter;

CGFloat devcide = KScreenHeight;

//? ? ? ? button.imageEdgeInsets = UIEdgeInsetsMake(6*Width,6*Width,10*Width,button.titleLabel.bounds.size.width);

if (devcide == 568.000000) {

button.imageEdgeInsets = UIEdgeInsetsMake(6,6,8,button.titleLabel.bounds.size.width);

button.titleEdgeInsets = UIEdgeInsetsMake(55, -button.imageView.bounds.size.width-50, 0, 8);

}else if (devcide == 480.000000){

button.imageEdgeInsets = UIEdgeInsetsMake(2,10,5,button.titleLabel.bounds.size.width);

button.titleEdgeInsets = UIEdgeInsetsMake(55, -button.imageView.bounds.size.width-50, 2, 5);

}else if (devcide == 736.000000){

button.imageEdgeInsets = UIEdgeInsetsMake(8,8,8,button.titleLabel.bounds.size.width);

button.titleEdgeInsets = UIEdgeInsetsMake(70, -button.imageView.bounds.size.width-40, 0, 0);

}else{

button.imageEdgeInsets = UIEdgeInsetsMake(5,6,8,button.titleLabel.bounds.size.width);

button.titleEdgeInsets = UIEdgeInsetsMake(60, -button.imageView.bounds.size.width-45, 0, 0);

}

[button addTarget:self action:@selector(clickBtn:) forControlEvents:UIControlEventTouchUpInside];

button.tag=100+i;

[btnArray addObject:button];

[_subViewArray addObject:button];

[_circleView addSubview:button];

}

[self layoutBtn];

//中間視圖

UIButton *buttonCenter=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width/3.0, self.frame.size.height/3.0)];

buttonCenter.tag=100+_numOfSubView+1;

buttonCenter.layer.cornerRadius=self.frame.size.width/6.0;

//? ? [buttonCenter setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];

[buttonCenter setImage:centerImage forState:UIControlStateNormal];

buttonCenter.center=CGPointMake(self.frame.size.width/2, self.frame.size.height/2);

[buttonCenter addTarget:self action:@selector(clickBtnCenter:) forControlEvents:UIControlEventTouchUpInside];

[_subViewArray addObject:buttonCenter];

[_circleView addSubview:buttonCenter];

//加轉(zhuǎn)動(dòng)手勢

_pgr=[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(zhuanPgr:)];

[_circleView addGestureRecognizer:_pgr];

//加點(diǎn)擊效果

for (NSInteger i=0; i<_subViewArray.count; i++) {

UIButton *button=_subViewArray[i];

[button addTarget:self action:@selector(subViewOut:) forControlEvents:UIControlEventTouchUpInside];

}

}

- (void)clickBtn:(UIButton *)btn

{

NSLog(@"%zd圓環(huán)按鈕點(diǎn)擊了",btn.tag);

kaiduImage.alpha = 1;

[UIView animateWithDuration:2.0 animations:^{

kaiduImage.alpha = 0;

} completion:^(BOOL finished) {

}];

if (btn.tag == 100) {

mStartAngle = M_PI_2*3;

[self layoutBtn];

}

if (btn.tag == 101) {

mStartAngle = M_PI_2*2.32;

[self layoutBtn];

}

if (btn.tag == 102) {

mStartAngle = M_PI_2*1.68;

[self layoutBtn];

}

if (btn.tag == 103) {

mStartAngle = M_PI_2*1;

[self layoutBtn];

}

if (btn.tag == 104) {

mStartAngle = M_PI_2*0.32;

[self layoutBtn];

}

if (btn.tag == 105) {

//? ? ? ? mStartAngle = M_PI_2*3.66;

mStartAngle = -M_PI_2*0.32;

[self layoutBtn];

}

NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

if ([user boolForKey:@"voice"]) {

//播放音效

//1.獲得音效文件的全路徑

NSURL *soundUrl = [[NSBundle mainBundle] URLForResource:@"click.wav" withExtension:nil];

//2.加載音效文件蜕该,創(chuàng)建音效ID(SoundID,一個(gè)ID對(duì)應(yīng)一個(gè)音效文件)

AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundUrl, &soundID);

//把需要銷毀的音效文件的ID傳遞給它既可銷毀

AudioServicesPlaySystemSound(soundID);

}

if ([user boolForKey:@"vibration"]) {

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

}

}

//點(diǎn)擊圓心按鈕

- (void)clickBtnCenter:(UIButton *)btnCenter

{

NSLog(@"圓心按鈕點(diǎn)擊了");

}

//按鈕布局

-(void)layoutBtn{

for (NSInteger i=0; i<_numOfSubView ;i++) {// 178,245

CGFloat devcide = KScreenHeight;

if (devcide == 480.000000) {

CGFloat yy=145+sin((i/_numOfSubView)*M_PI_2*4+mStartAngle)*(self.frame.size.width/2-_subViewSize.width/2-20);

CGFloat xx=148+cos((i/_numOfSubView)*M_PI_2*4+mStartAngle)*(self.frame.size.width/2-_subViewSize.width/2-20);

UIButton *button=[btnArray objectAtIndex:i];

button.center=CGPointMake(xx, yy);

}else if (devcide == 736.000000){

CGFloat yy=195+sin((i/_numOfSubView)*M_PI_2*4+mStartAngle)*(self.frame.size.width/2-_subViewSize.width/2-30);

CGFloat xx=195+cos((i/_numOfSubView)*M_PI_2*4+mStartAngle)*(self.frame.size.width/2-_subViewSize.width/2-30);

UIButton *button=[btnArray objectAtIndex:i];

button.center=CGPointMake(xx, yy);

}else{

CGFloat yy=175*Height+sin((i/_numOfSubView)*M_PI*2+mStartAngle)*(self.frame.size.width/2-_subViewSize.width/2-20*Height);

CGFloat xx=175*Width+cos((i/_numOfSubView)*M_PI*2+mStartAngle)*(self.frame.size.width/2-_subViewSize.width/2-20*Width);

UIButton *button=[btnArray objectAtIndex:i];

button.center=CGPointMake(xx, yy);

}

}

}

NSTimer *flowtime;

NSTimer *reverseTime;

float anglePerSecond;

float speed;? //轉(zhuǎn)動(dòng)速度

#pragma mark - 轉(zhuǎn)動(dòng)手勢

-(void)zhuanPgr:(UIPanGestureRecognizer *)pgr

{

if(pgr.state==UIGestureRecognizerStateBegan){

kaiduImage.alpha = 1.0;

mTmpAngle = 0;

beginPoint=[pgr locationInView:self];

startTouchDate=[NSDate date];

}else if (pgr.state==UIGestureRecognizerStateChanged){

float StartAngleLast = mStartAngle;

movePoint= [pgr locationInView:self];

float start = [self getAngle:beginPoint];? //獲得起始弧度

float end = [self getAngle:movePoint];? ? //結(jié)束弧度

if ([self getQuadrant:movePoint] == 1 || [self getQuadrant:movePoint] == 4) {

mStartAngle += end - start;

mTmpAngle += end - start;

//? ? ? ? ? ? NSLog(@"第一、四象限____%f",mStartAngle);

} else

// 二洲鸠、三象限堂淡,色角度值是付值

{

mStartAngle += start - end;

mTmpAngle += start - end;

//? ? ? ? ? ? NSLog(@"第二、三象限____%f",mStartAngle);

//? ? ? ? ? ? NSLog(@"mTmpAngle is %f",mTmpAngle);

}

[self layoutBtn];

beginPoint=movePoint;

speed = mStartAngle - StartAngleLast;

NSTimeInterval time=[[NSDate date] timeIntervalSinceDate:startTouchDate];

anglePerSecond = mTmpAngle*50/ time;

}else if (pgr.state==UIGestureRecognizerStateEnded){

// 計(jì)算扒腕,每秒移動(dòng)的角度

NSTimeInterval time=[[NSDate date] timeIntervalSinceDate:startTouchDate];

anglePerSecond = mTmpAngle*50/ time;

// 如果達(dá)到該值認(rèn)為是快速移動(dòng)

if (anglePerSecond > 0) {

if (fabsf(anglePerSecond) > mFlingableValue && !_isPlaying) {//順時(shí)針

// post一個(gè)任務(wù)绢淀,去自動(dòng)滾動(dòng)

_isPlaying = true;

flowtime = [NSTimer scheduledTimerWithTimeInterval:0.1

target:self

selector:@selector(flowAction)

userInfo:nil

repeats:YES];

}

}else{

if (-fabsf(anglePerSecond) < -mFlingableValue && !_isPlaying) {//逆時(shí)針

_isPlaying = true;

reverseTime = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(reverseAction) userInfo:nil repeats:YES];

}

}

NSLog(@"%f-----!!!!!!!!!!!",mStartAngle);

//wxb 非快速滑動(dòng)停止時(shí)

if (_isPlaying==false)

{

if (mStartAngle>=0)

{

if (fmod(mStartAngle, M_PI*2)>M_PI_2*2.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*3+M_PI_2*0.32) {

mStartAngle = M_PI_2*3;

[self layoutBtn];

self.clickSomeOne(@"100");

}

if (fmod(mStartAngle, M_PI*2)>M_PI_2*1.68+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*2.32+M_PI_2*0.32) {

mStartAngle = M_PI_2*2.32;

[self layoutBtn];

self.clickSomeOne(@"101");

}

if (fmod(mStartAngle, M_PI*2)>M_PI_2*1+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*1.68+M_PI_2*0.32) {

mStartAngle = M_PI_2*1.68;

[self layoutBtn];

self.clickSomeOne(@"102");

}

if (fmod(mStartAngle, M_PI*2)>M_PI_2*0.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*1+M_PI_2*0.32) {

mStartAngle = M_PI_2*1;

[self layoutBtn];

self.clickSomeOne(@"103");

}

if (fmod(mStartAngle, M_PI*2)>0&&fmod(mStartAngle, M_PI*2)<=M_PI_2*0.32+M_PI_2*0.32) {

mStartAngle = M_PI_2*0.32;

[self layoutBtn];

//? ? ? ? ? ? ? ? ? ? self.clickSomeOne(@"104");

}

if (fmod(mStartAngle, M_PI*2)-M_PI*2<=0&&fmod(mStartAngle, M_PI*2)-M_PI*2>=-M_PI_2*0.32*2) {

//? ? ? ? mStartAngle = M_PI_2*3.66;

mStartAngle = -M_PI_2*0.32;

[self layoutBtn];

self.clickSomeOne(@"105");

}

}

else

{

if (fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*2.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*3+M_PI_2*0.32) {

mStartAngle = M_PI_2*3;

[self layoutBtn];

self.clickSomeOne(@"100");

}

if (fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*1.68+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*2.32+M_PI_2*0.32) {

mStartAngle = M_PI_2*2.32;

[self layoutBtn];

self.clickSomeOne(@"101");

}

if (fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*1+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*1.68+M_PI_2*0.32) {

mStartAngle = M_PI_2*1.68;

[self layoutBtn];

self.clickSomeOne(@"102");

}

if (fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*0.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*1+M_PI_2*0.32) {

mStartAngle = M_PI_2*1;

[self layoutBtn];

self.clickSomeOne(@"103");

}

if (fmod(mStartAngle, M_PI*2)+M_PI*2>0+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*0.32+M_PI_2*0.32) {

mStartAngle = M_PI_2*0.32;

[self layoutBtn];

//? ? ? ? ? ? ? ? ? ? self.clickSomeOne(@"104");

}

if (fmod(mStartAngle, M_PI*2)<=0&&fmod(mStartAngle, M_PI*2)>=-M_PI_2*0.32*2) {

//? ? ? ? mStartAngle = M_PI_2*3.66;

mStartAngle = -M_PI_2*0.32;

[self layoutBtn];

self.clickSomeOne(@"105");

}

}

}

}

}

- (void)beginPlayMusic

{

NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

if ([user boolForKey:@"voice"]) {

//播放音效

//1.獲得音效文件的全路徑

NSURL *soundUrl = [[NSBundle mainBundle] URLForResource:@"swipe.mp3" withExtension:nil];

//2.加載音效文件,創(chuàng)建音效ID(SoundID,一個(gè)ID對(duì)應(yīng)一個(gè)音效文件)

AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundUrl, &soundID);

//把需要銷毀的音效文件的ID傳遞給它既可銷毀

AudioServicesPlaySystemSound(soundID);

}

}

//獲取當(dāng)前點(diǎn)弧度

-(float)getAngle:(CGPoint)point {

double x = point.x - mRadius;

double y = point.y - mRadius;

return (float) (asin(y / hypot(x, y)));

}

/**

* 根據(jù)當(dāng)前位置計(jì)算象限

*

* @param x

* @param y

* @return

*/

-(int) getQuadrant:(CGPoint) point {

int tmpX = (int) (point.x - mRadius);

int tmpY = (int) (point.y - mRadius);

if (tmpX >= 0) {

return tmpY >= 0 ? 1 : 4;

} else {

return tmpY >= 0 ? 2 : 3;

}

}

-(void)flowAction{

if (speed < 0.1) {

[UIView animateWithDuration:2 animations:^{

kaiduImage.alpha = 0;

} completion:^(BOOL finished) {

}];

_isPlaying = false;

[flowtime invalidate];

flowtime = nil;

//wxb

if (fmod(mStartAngle, M_PI*2)>M_PI_2*2.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*3+M_PI_2*0.32) {

mStartAngle = M_PI_2*3;

[self layoutBtn];

self.clickSomeOne(@"100");

}

if (fmod(mStartAngle, M_PI*2)>M_PI_2*1.68+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*2.32+M_PI_2*0.32) {

mStartAngle = M_PI_2*2.32;

[self layoutBtn];

self.clickSomeOne(@"101");

}

if (fmod(mStartAngle, M_PI*2)>M_PI_2*1+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*1.68+M_PI_2*0.32) {

mStartAngle = M_PI_2*1.68;

[self layoutBtn];

self.clickSomeOne(@"102");

}

if (fmod(mStartAngle, M_PI*2)>M_PI_2*0.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*1+M_PI_2*0.32) {

mStartAngle = M_PI_2*1;

[self layoutBtn];

self.clickSomeOne(@"103");

}

if (fmod(mStartAngle, M_PI*2)>0&&fmod(mStartAngle, M_PI*2)<=M_PI_2*0.32+M_PI_2*0.32) {

mStartAngle = M_PI_2*0.32;

[self layoutBtn];

//? ? ? ? ? ? self.clickSomeOne(@"104");

}

if (fmod(mStartAngle, M_PI*2)-M_PI*2<=0&&fmod(mStartAngle, M_PI*2)-M_PI*2>=-M_PI_2*0.32*2) {

//? ? ? ? mStartAngle = M_PI_2*3.66;

mStartAngle = -M_PI_2*0.32;

[self layoutBtn];

self.clickSomeOne(@"105");

}

return;

}

// 不斷改變mStartAngle瘾腰,讓其滾動(dòng)皆的,/30為了避免滾動(dòng)太快

mStartAngle += speed ;

speed = speed/1.1;

// 逐漸減小這個(gè)值

//? ? anglePerSecond /= 1.1;

NSLog(@"++ %f--%f",mStartAngle,speed);

[self layoutBtn];

}

- (void)reverseAction

{

//? ? NSLog(@"%f",speed);

if (speed > -0.1) {

[UIView animateWithDuration:2 animations:^{

kaiduImage.alpha = 0;

} completion:^(BOOL finished) {

}];

_isPlaying = false;

[reverseTime invalidate];

reverseTime = nil;

//wxb

if ((fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*2.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*3+M_PI_2*0.32)||(fmod(mStartAngle, M_PI*2)>M_PI_2*2.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*3+M_PI_2*0.32)) {

mStartAngle = M_PI_2*3;

[self layoutBtn];

self.clickSomeOne(@"100");

}

if ((fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*1.68+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*2.32+M_PI_2*0.32)||(fmod(mStartAngle, M_PI*2)>M_PI_2*1.68+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*2.32+M_PI_2*0.32)) {

mStartAngle = M_PI_2*2.32;

[self layoutBtn];

self.clickSomeOne(@"101");

}

if ((fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*1+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*1.68+M_PI_2*0.32)||(fmod(mStartAngle, M_PI*2)>M_PI_2*1+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*1.68+M_PI_2*0.32)) {

mStartAngle = M_PI_2*1.68;

[self layoutBtn];

self.clickSomeOne(@"102");

}

if ((fmod(mStartAngle, M_PI*2)+M_PI*2>M_PI_2*0.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*1+M_PI_2*0.32)||(fmod(mStartAngle, M_PI*2)>M_PI_2*0.32+M_PI_2*0.32&&fmod(mStartAngle, M_PI*2)<=M_PI_2*1+M_PI_2*0.32)) {

mStartAngle = M_PI_2*1;

[self layoutBtn];

self.clickSomeOne(@"103");

}

if ((fmod(mStartAngle, M_PI*2)+M_PI*2>0&&fmod(mStartAngle, M_PI*2)+M_PI*2<=M_PI_2*0.32+M_PI_2*0.32)||(fmod(mStartAngle, M_PI*2)>0&&fmod(mStartAngle, M_PI*2)<=M_PI_2*0.32+M_PI_2*0.32)) {

mStartAngle = M_PI_2*0.32;

[self layoutBtn];

//? ? ? ? ? ? self.clickSomeOne(@"104");

}

if (fmod(mStartAngle, M_PI*2)<=0&&fmod(mStartAngle, M_PI*2)>=-M_PI_2*0.32*2) {

//? ? ? ? mStartAngle = M_PI_2*3.66;

mStartAngle = -M_PI_2*0.32;

[self layoutBtn];

self.clickSomeOne(@"105");

}

return;

}

mStartAngle += speed;

speed = speed/1.1;

[self layoutBtn];

}

//按鈕的點(diǎn)擊回調(diào)

-(void)subViewOut:(UIButton *)button

{

//點(diǎn)擊

if(self.clickSomeOne){

self.clickSomeOne([NSString stringWithFormat:@"%ld",(long)button.tag]);

}

//? ? NSLog(@"快點(diǎn)播放,別要點(diǎn)我");

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹋盆,一起剝皮案震驚了整個(gè)濱河市费薄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌栖雾,老刑警劉巖楞抡,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異析藕,居然都是意外死亡召廷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門账胧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竞慢,“玉大人,你說我怎么就攤上這事治泥〕镏螅” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵车摄,是天一觀的道長寺谤。 經(jīng)常有香客問我仑鸥,道長,這世上最難降的妖魔是什么变屁? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任眼俊,我火速辦了婚禮,結(jié)果婚禮上粟关,老公的妹妹穿的比我還像新娘疮胖。我一直安慰自己,他們只是感情好闷板,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布澎灸。 她就那樣靜靜地躺著,像睡著了一般遮晚。 火紅的嫁衣襯著肌膚如雪性昭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天县遣,我揣著相機(jī)與錄音糜颠,去河邊找鬼。 笑死萧求,一個(gè)胖子當(dāng)著我的面吹牛其兴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夸政,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼元旬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了守问?” 一聲冷哼從身側(cè)響起匀归,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酪碘,沒想到半個(gè)月后朋譬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兴垦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年徙赢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片探越。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狡赐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出钦幔,到底是詐尸還是另有隱情枕屉,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布鲤氢,位于F島的核電站搀擂,受9級(jí)特大地震影響西潘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哨颂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一喷市、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧威恼,春花似錦品姓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斤蔓,卻和暖如春植酥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背附迷。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工惧互, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喇伯。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像拨与,于是被迫代替她去往敵國和親稻据。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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

  • 轉(zhuǎn)自:http://www.code4app.com/blog-866962-1317.html1买喧、設(shè)置UILab...
    MMOTE閱讀 1,602評(píng)論 1 1
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)捻悯。 張土汪:刷leetcod...
    土汪閱讀 12,743評(píng)論 0 33
  • 芙蓉匝清池,鮮朗不自知淤毛, 翩翩神仙質(zhì)今缚,皎皎珠玉姿, 何不當(dāng)春發(fā)低淡,榮華會(huì)有期姓言, 春花良亦好,開先落還早蔗蹋。 新買了傳說...
    美芽芽閱讀 370評(píng)論 1 2
  • 首先找一張難度適合自己的圖片 然后開始臨摹 注意構(gòu)圖比例 可以先簡單的畫何荚,后面勾線時(shí)再補(bǔ)充 等畫好后,用勾線筆勾出...
    機(jī)李滬理閱讀 402評(píng)論 0 1
  • zs 我一位獨(dú)居與山間的老農(nóng)猪杭,年過半百的容貌餐塘,但腰挺得筆直。房屋位于山的頂端皂吮,門口約五十步遠(yuǎn)戒傻,懸崖邊税手,生有需兩人合...
    zs123閱讀 306評(píng)論 0 0