iOS動(dòng)畫(UIView動(dòng)畫)

UIView動(dòng)畫簡介

UIView動(dòng)畫實(shí)質(zhì)上是對(duì)Core Animation的封裝,提供簡潔的動(dòng)畫接口。

UIView動(dòng)畫可以設(shè)置的動(dòng)畫屬性有:

1况褪、大小變化(frame)

2秉馏、拉伸變化(bounds)

3、中心位置(center)

4唆涝、旋轉(zhuǎn)(transform)

5找都、透明度(alpha)

6、背景顏色(backgroundColor)

7廊酣、拉伸內(nèi)容(contentStretch)

UIview 類方法動(dòng)畫

1)動(dòng)畫的開始和結(jié)束方法

1.1 動(dòng)畫開始標(biāo)記

[UIView beginAnimations:(nullableNSString *) context:(nullablevoid *)];

第一個(gè)參數(shù):動(dòng)畫標(biāo)識(shí)

第二個(gè)參數(shù):附加參數(shù)能耻,在設(shè)置了代理的情況下,此參數(shù)將發(fā)送到setAnimationWillStartSelector和setAnimationDidStopSelector所指定的方法亡驰。大部分情況下晓猛,我們?cè)O(shè)置為nil即可。

1.2 結(jié)束動(dòng)畫標(biāo)記

[UIView commitAnimations];

2)動(dòng)畫參數(shù)的設(shè)置方法

//動(dòng)畫持續(xù)時(shí)間[UIViewsetAnimationDuration:(NSTimeInterval)];

//動(dòng)畫的代理對(duì)象[UIViewsetAnimationDelegate:(nullableid)];

//設(shè)置動(dòng)畫將開始時(shí)代理對(duì)象執(zhí)行的SEL[UIViewsetAnimationWillStartSelector:(nullableSEL)];

//設(shè)置動(dòng)畫結(jié)束時(shí)代理對(duì)象執(zhí)行的SEL[UIViewsetAnimationDidStopSelector:(nullableSEL)];

//設(shè)置動(dòng)畫延遲執(zhí)行的時(shí)間[UIViewsetAnimationDelay:(NSTimeInterval)];

//設(shè)置動(dòng)畫的重復(fù)次數(shù)[UIViewsetAnimationRepeatCount:(float)];

//設(shè)置動(dòng)畫的曲線[UIViewsetAnimationCurve:(UIViewAnimationCurve)];UIViewAnimationCurve的枚舉值如下:UIViewAnimationCurveEaseInOut,// 慢進(jìn)慢出(默認(rèn)值)UIViewAnimationCurveEaseIn,// 慢進(jìn)UIViewAnimationCurveEaseOut,// 慢出UIViewAnimationCurveLinear// 勻速

//設(shè)置是否從當(dāng)前狀態(tài)開始播放動(dòng)畫[UIViewsetAnimationBeginsFromCurrentState:YES];? ? 假設(shè)上一個(gè)動(dòng)畫正在播放凡辱,且尚未播放完畢戒职,我們將要進(jìn)行一個(gè)新的動(dòng)畫:? ? 當(dāng)為YES時(shí):動(dòng)畫將從上一個(gè)動(dòng)畫所在的狀態(tài)開始播放? ? 當(dāng)為NO時(shí):動(dòng)畫將從上一個(gè)動(dòng)畫所指定的最終狀態(tài)開始播放(此時(shí)上一個(gè)動(dòng)畫馬上結(jié)束)

//設(shè)置動(dòng)畫是否繼續(xù)執(zhí)行相反的動(dòng)畫[UIViewsetAnimationRepeatAutoreverses:(BOOL)];

//是否禁用動(dòng)畫效果(對(duì)象屬性依然會(huì)被改變,只是沒有動(dòng)畫效果)[UIViewsetAnimationsEnabled:(BOOL)];

//設(shè)置視圖的過渡效果[UIViewsetAnimationTransition:(UIViewAnimationTransition) forView:(nonnullUIView*) cache:(BOOL)];? ? 第一個(gè)參數(shù):UIViewAnimationTransition的枚舉值如下UIViewAnimationTransitionNone,//不使用動(dòng)畫UIViewAnimationTransitionFlipFromLeft,//從左向右旋轉(zhuǎn)翻頁UIViewAnimationTransitionFlipFromRight,//從右向左旋轉(zhuǎn)翻頁UIViewAnimationTransitionCurlUp,//從下往上卷曲翻頁UIViewAnimationTransitionCurlDown,//從上往下卷曲翻頁第二個(gè)參數(shù):需要過渡效果的View? ? 第三個(gè)參數(shù):是否使用視圖緩存透乾,YES:視圖在開始和結(jié)束時(shí)渲染一次洪燥;NO:視圖在每一幀都渲染

3)實(shí)例代碼:

1、屬性變化動(dòng)畫(以frame變化為例)

- (void)changeFrame {? ? [UIViewbeginAnimations:@"FrameAni"context:nil];? ? [UIViewsetAnimationDuration:1.0];? ? [UIViewsetAnimationDelegate:self];? ? [UIViewsetAnimationWillStartSelector:@selector(startAni:)];? ? [UIViewsetAnimationDidStopSelector:@selector(stopAni:)];? ? [UIViewsetAnimationRepeatCount:1];? ? [UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];self.cartCenter.frame =self.centerShow.frame;? ? [UIViewcommitAnimations];}- (void)startAni:(NSString*)aniID {NSLog(@"%@ start",aniID);}- (void)stopAni:(NSString*)aniID {NSLog(@"%@ stop",aniID);}

動(dòng)畫效果:

NormalAni.gif


2乳乌、轉(zhuǎn)場(chǎng)效果動(dòng)畫(以Flip效果為例)

- (void)flipAni {? ? [UIViewbeginAnimations:@"FlipAni"context:nil];? ? [UIViewsetAnimationDuration:1.0];? ? [UIViewsetAnimationDelegate:self];? ? [UIViewsetAnimationWillStartSelector:@selector(startAni:)];? ? [UIViewsetAnimationDidStopSelector:@selector(stopAni:)];? ? [UIViewsetAnimationRepeatCount:1];? ? [UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];? ? [UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.centerShow cache:YES];self.centerShow.image = [UIImageimageNamed:@"service"];? ? [UIViewcommitAnimations];}

動(dòng)畫效果:

ScreenTransitionAni.gif

UIview Block動(dòng)畫

iOS4.0以后王浴,增加了Block動(dòng)畫塊蹲嚣,提供更簡潔的方式來實(shí)現(xiàn)動(dòng)畫。

1)Block動(dòng)畫方法

1、最簡潔的Block動(dòng)畫:包含時(shí)間和動(dòng)畫

[UIView animateWithDuration:(NSTimeInterval)? //動(dòng)畫持續(xù)時(shí)間? ? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的動(dòng)畫

}];

2胶征、帶有動(dòng)畫完成回調(diào)的Block動(dòng)畫

[UIView animateWithDuration:(NSTimeInterval)? //動(dòng)畫持續(xù)時(shí)間? ? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的動(dòng)畫

}completion:^(BOOLfinished) {? ? ? ? ? ? ? ? //動(dòng)畫執(zhí)行完畢后的操作 }];

3凉唐、可設(shè)置延遲時(shí)間和過渡效果的Block動(dòng)畫

[UIView animateWithDuration:(NSTimeInterval) //動(dòng)畫持續(xù)時(shí)間? ? ? ? ? ? ? ? ? ? ? delay:(NSTimeInterval) //動(dòng)畫延遲執(zhí)行的時(shí)間? ? ? ? ? ? ? ? ? ? options:(UIViewAnimationOptions) //動(dòng)畫的過渡效果? ? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的動(dòng)畫

}completion:^(BOOLfinished) {? ? ? ? ? ? ? ? ? //動(dòng)畫執(zhí)行完畢后的操作 }];

UIViewAnimationOptions的枚舉值如下,可組合使用:

UIViewAnimationOptionLayoutSubviews//進(jìn)行動(dòng)畫時(shí)布局子控件UIViewAnimationOptionAllowUserInteraction//進(jìn)行動(dòng)畫時(shí)允許用戶交互UIViewAnimationOptionBeginFromCurrentState//從當(dāng)前狀態(tài)開始動(dòng)畫UIViewAnimationOptionRepeat//無限重復(fù)執(zhí)行動(dòng)畫UIViewAnimationOptionAutoreverse//執(zhí)行動(dòng)畫回路UIViewAnimationOptionOverrideInheritedDuration//忽略嵌套動(dòng)畫的執(zhí)行時(shí)間設(shè)置UIViewAnimationOptionOverrideInheritedCurve//忽略嵌套動(dòng)畫的曲線設(shè)置UIViewAnimationOptionAllowAnimatedContent//轉(zhuǎn)場(chǎng):進(jìn)行動(dòng)畫時(shí)重繪視圖UIViewAnimationOptionShowHideTransitionViews//轉(zhuǎn)場(chǎng):移除(添加和移除圖層的)動(dòng)畫效果UIViewAnimationOptionOverrideInheritedOptions//不繼承父動(dòng)畫設(shè)置UIViewAnimationOptionCurveEaseInOut//時(shí)間曲線,慢進(jìn)慢出(默認(rèn)值)UIViewAnimationOptionCurveEaseIn//時(shí)間曲線癞己,慢進(jìn)UIViewAnimationOptionCurveEaseOut//時(shí)間曲線,慢出UIViewAnimationOptionCurveLinear//時(shí)間曲線梭伐,勻速UIViewAnimationOptionTransitionNone//轉(zhuǎn)場(chǎng)痹雅,不使用動(dòng)畫UIViewAnimationOptionTransitionFlipFromLeft//轉(zhuǎn)場(chǎng),從左向右旋轉(zhuǎn)翻頁UIViewAnimationOptionTransitionFlipFromRight//轉(zhuǎn)場(chǎng)糊识,從右向左旋轉(zhuǎn)翻頁UIViewAnimationOptionTransitionCurlUp//轉(zhuǎn)場(chǎng)绩社,下往上卷曲翻頁UIViewAnimationOptionTransitionCurlDown//轉(zhuǎn)場(chǎng),從上往下卷曲翻頁UIViewAnimationOptionTransitionCrossDissolve//轉(zhuǎn)場(chǎng)赂苗,交叉消失和出現(xiàn)UIViewAnimationOptionTransitionFlipFromTop//轉(zhuǎn)場(chǎng)愉耙,從上向下旋轉(zhuǎn)翻頁UIViewAnimationOptionTransitionFlipFromBottom//轉(zhuǎn)場(chǎng),從下向上旋轉(zhuǎn)翻頁

4拌滋、Spring動(dòng)畫

iOS7.0后新增Spring動(dòng)畫(iOS系統(tǒng)動(dòng)畫大部分采用Spring Animation朴沿,適用于所有可被添加動(dòng)畫效果的屬性)

[UIView animateWithDuration:(NSTimeInterval)//動(dòng)畫持續(xù)時(shí)間? ? ? ? ? ? ? ? ? ? ? delay:(NSTimeInterval)//動(dòng)畫延遲執(zhí)行的時(shí)間? ? ? usingSpringWithDamping:(CGFloat)//震動(dòng)效果,范圍0~1败砂,數(shù)值越小震動(dòng)效果越明顯? ? ? initialSpringVelocity:(CGFloat)//初始速度赌渣,數(shù)值越大初始速度越快? ? ? ? ? ? ? ? ? ? options:(UIViewAnimationOptions)//動(dòng)畫的過渡效果? ? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的動(dòng)畫

}completion:^(BOOLfinished) {? ? ? ? ? ? ? ? ? ? //動(dòng)畫執(zhí)行完畢后的操作 }];

5、Keyframes動(dòng)畫

iOS7.0后新增關(guān)鍵幀動(dòng)畫昌犹,支持屬性關(guān)鍵幀坚芜,不支持路徑關(guān)鍵幀

[UIView animateKeyframesWithDuration:(NSTimeInterval)//動(dòng)畫持續(xù)時(shí)間? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? delay:(NSTimeInterval)//動(dòng)畫延遲執(zhí)行的時(shí)間? ? ? ? ? ? ? ? ? ? ? ? ? ? ? options:(UIViewKeyframeAnimationOptions)//動(dòng)畫的過渡效果? ? ? ? ? ? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的關(guān)鍵幀動(dòng)畫

}completion:^(BOOLfinished) {? ? ? ? ? ? ? ? ? ? ? ? //動(dòng)畫執(zhí)行完畢后的操作 }];

UIViewKeyframeAnimationOptions的枚舉值如下,可組合使用:

UIViewAnimationOptionLayoutSubviews//進(jìn)行動(dòng)畫時(shí)布局子控件UIViewAnimationOptionAllowUserInteraction//進(jìn)行動(dòng)畫時(shí)允許用戶交互UIViewAnimationOptionBeginFromCurrentState//從當(dāng)前狀態(tài)開始動(dòng)畫UIViewAnimationOptionRepeat//無限重復(fù)執(zhí)行動(dòng)畫UIViewAnimationOptionAutoreverse//執(zhí)行動(dòng)畫回路UIViewAnimationOptionOverrideInheritedDuration//忽略嵌套動(dòng)畫的執(zhí)行時(shí)間設(shè)置UIViewAnimationOptionOverrideInheritedOptions//不繼承父動(dòng)畫設(shè)置UIViewKeyframeAnimationOptionCalculationModeLinear//運(yùn)算模式 :連續(xù)UIViewKeyframeAnimationOptionCalculationModeDiscrete//運(yùn)算模式 :離散UIViewKeyframeAnimationOptionCalculationModePaced//運(yùn)算模式 :均勻執(zhí)行UIViewKeyframeAnimationOptionCalculationModeCubic//運(yùn)算模式 :平滑UIViewKeyframeAnimationOptionCalculationModeCubicPaced//運(yùn)算模式 :平滑均勻

各種運(yùn)算模式的直觀比較如下圖:

圖片來源網(wǎng)絡(luò).png

增加關(guān)鍵幀的方法:

[UIView addKeyframeWithRelativeStartTime:(double)//動(dòng)畫開始的時(shí)間(占總時(shí)間的比例)? ? ? ? ? ? ? ? ? ? ? ? relativeDuration:(double) //動(dòng)畫持續(xù)時(shí)間(占總時(shí)間的比例)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的動(dòng)畫

}];

6斜姥、轉(zhuǎn)場(chǎng)動(dòng)畫

6.1 從舊視圖轉(zhuǎn)到新視圖的動(dòng)畫效果

[UIView transitionFromView:(nonnullUIView *)? ? ? ? ? ? ? ? ? ? toView:(nonnullUIView *)? ? ? ? ? ? ? ? ? duration:(NSTimeInterval)? ? ? ? ? ? ? ? ? ? options:(UIViewAnimationOptions)? ? ? ? ? ? ? ? completion:^(BOOLfinished) {? ? ? ? ? ? ? ? ? ? //動(dòng)畫執(zhí)行完畢后的操作 }];

在該動(dòng)畫過程中鸿竖,fromView 會(huì)從父視圖中移除,并講 toView 添加到父視圖中铸敏,注意轉(zhuǎn)場(chǎng)動(dòng)畫的作用對(duì)象是父視圖(過渡效果體現(xiàn)在父視圖上)缚忧。

調(diào)用該方法相當(dāng)于執(zhí)行下面兩句代碼:

[fromView.superview addSubview:toView];[fromView removeFromSuperview];

6.2 單個(gè)視圖的過渡效果

[UIView transitionWithView:(nonnullUIView *)? ? ? ? ? ? ? ? ? duration:(NSTimeInterval)? ? ? ? ? ? ? ? ? ? options:(UIViewAnimationOptions)? ? ? ? ? ? ? ? animations:^{

//執(zhí)行的動(dòng)畫

}completion:^(BOOLfinished) {? ? ? ? ? ? ? ? //動(dòng)畫執(zhí)行完畢后的操作 }];

2)實(shí)例代碼:

1、普通動(dòng)畫

下面三段代碼都實(shí)現(xiàn)了相同的視圖frame的變化搞坝,不同之處只在于其延遲時(shí)間、過渡效果和結(jié)束回調(diào)魁袜。

- (void)blockAni1 {? ? [UIView animateWithDuration:1.0 animations:^{? ? ? ? self.cartCenter.frame= self.centerShow.frame;? ? }];}

- (void)blockAni2 {? ? [UIViewanimateWithDuration:1.0animations:^{self.cartCenter.frame =self.centerShow.frame;? ? } completion:^(BOOLfinished) {NSLog(@"動(dòng)畫結(jié)束");? ? }];}

- (void)blockAni3 {? ? [UIViewanimateWithDuration:1.0delay:1.0options:UIViewAnimationOptionCurveEaseInOutanimations:^{self.cartCenter.frame =self.centerShow.frame;? ? } completion:^(BOOLfinished) {NSLog(@"動(dòng)畫結(jié)束");? ? }];}

動(dòng)畫效果:

NormalAni.gif

2桩撮、Spring動(dòng)畫

- (void)blockAni4 {? ? [UIViewanimateWithDuration:1.0delay:0.fusingSpringWithDamping:0.5initialSpringVelocity:5.0options:UIViewAnimationOptionCurveLinearanimations:^{? ? ? ? self.cartCenter.frame = self.centerShow.frame;? ? }completion:^(BOOL finished) {? ? ? ? NSLog(@"動(dòng)畫結(jié)束");? ? }];}

動(dòng)畫效果:

SpringAni.gif

3、Keyframes動(dòng)畫

這里以實(shí)現(xiàn)視圖背景顏色變化(紅-綠-藍(lán)-紫)的過程來演示關(guān)鍵幀動(dòng)畫峰弹。

- (void)blockAni5 {? ? self.centerShow.image = nil;? ? [UIViewanimateKeyframesWithDuration:9.0delay:0.foptions:UIViewKeyframeAnimationOptionCalculationModeLinearanimations:^{? ? ? ? [UIViewaddKeyframeWithRelativeStartTime:0.frelativeDuration:1.0/4animations:^{? ? ? ? ? ? self.centerShow.backgroundColor = [UIColorcolorWithRed:0.9475green:0.1921blue:0.1746alpha:1.0];? ? ? ? }];? ? ? ? [UIViewaddKeyframeWithRelativeStartTime:1.0/ 4 relativeDuration:1.0 /4animations:^{? ? ? ? ? ? self.centerShow.backgroundColor = [UIColorcolorWithRed:0.1064green:0.6052blue:0.0334alpha:1.0];? ? ? ? }];? ? ? ? [UIViewaddKeyframeWithRelativeStartTime:2.0/ 4 relativeDuration:1.0 /4animations:^{? ? ? ? ? ? self.centerShow.backgroundColor = [UIColorcolorWithRed:0.1366green:0.3017blue:0.8411alpha:1.0];? ? ? ? }];? ? ? ? [UIViewaddKeyframeWithRelativeStartTime:3.0/ 4 relativeDuration:1.0 /4animations:^{? ? ? ? ? ? self.centerShow.backgroundColor = [UIColorcolorWithRed:0.619green:0.037blue:0.6719alpha:1.0];? ? ? ? }];? ? }completion:^(BOOL finished) {? ? ? ? NSLog(@"動(dòng)畫結(jié)束");? ? }];}

動(dòng)畫效果:

KeyFramesAni.gif

4店量、轉(zhuǎn)場(chǎng)動(dòng)畫

4.1 單個(gè)視圖的過渡效果

- (void)blockAni6 {? ? [UIViewtransitionWithView:self.centerShow duration:1.0options:UIViewAnimationOptionTransitionCrossDissolveanimations:^{self.centerShow.image = [UIImageimageNamed:@"Service"];? ? } completion:^(BOOLfinished) {NSLog(@"動(dòng)畫結(jié)束");? ? }];}

動(dòng)畫效果:

TransitionAni.gif

4.2 從舊視圖轉(zhuǎn)到新視圖的動(dòng)畫效果

- (void)blockAni7 {UIImageView* newCenterShow = [[UIImageViewalloc]initWithFrame:self.centerShow.frame];? ? newCenterShow.image = [UIImageimageNamed:@"Service"];? ? [UIViewtransitionFromView:self.centerShow toView:newCenterShow duration:1.0options:UIViewAnimationOptionTransitionFlipFromLeftcompletion:^(BOOLfinished) {NSLog(@"動(dòng)畫結(jié)束");? ? }];}

動(dòng)畫效果:

ScreenTransitionAni.gif

原作者:明仔Su(簡書)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鞠呈,隨后出現(xiàn)的幾起案子融师,更是在濱河造成了極大的恐慌,老刑警劉巖蚁吝,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旱爆,死亡現(xiàn)場(chǎng)離奇詭異舀射,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)怀伦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門脆烟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人房待,你說我怎么就攤上這事邢羔。” “怎么了桑孩?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵拜鹤,是天一觀的道長。 經(jīng)常有香客問我流椒,道長敏簿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任镣隶,我火速辦了婚禮极谊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘安岂。我一直安慰自己轻猖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布域那。 她就那樣靜靜地躺著咙边,像睡著了一般。 火紅的嫁衣襯著肌膚如雪次员。 梳的紋絲不亂的頭發(fā)上败许,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音淑蔚,去河邊找鬼市殷。 笑死,一個(gè)胖子當(dāng)著我的面吹牛刹衫,可吹牛的內(nèi)容都是我干的醋寝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼带迟,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼音羞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仓犬,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤嗅绰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窘面,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翠语,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了民镜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啡专。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖制圈,靈堂內(nèi)的尸體忽然破棺而出们童,到底是詐尸還是另有隱情,我是刑警寧澤鲸鹦,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布慧库,位于F島的核電站,受9級(jí)特大地震影響馋嗜,放射性物質(zhì)發(fā)生泄漏齐板。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一葛菇、第九天 我趴在偏房一處隱蔽的房頂上張望甘磨。 院中可真熱鬧,春花似錦眯停、人聲如沸济舆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滋觉。三九已至,卻和暖如春齐邦,著一層夾襖步出監(jiān)牢的瞬間椎侠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工措拇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留我纪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓丐吓,卻偏偏與公主長得像浅悉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汰蜘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果仇冯,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜之宿,今天將帶大家一窺ios動(dòng)畫全貌族操。在這里你可以看...
    每天刷兩次牙閱讀 8,485評(píng)論 6 30
  • 前言的前言 唐巧前輩在微信公眾號(hào)「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各項(xiàng)指標(biāo)...
    VincentHK閱讀 5,362評(píng)論 3 44
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜色难,今天將帶大家一窺iOS動(dòng)畫全貌泼舱。在這里你可以看...
    F麥子閱讀 5,110評(píng)論 5 13
  • 在iOS實(shí)際開發(fā)中常用的動(dòng)畫無非是以下四種:UIView動(dòng)畫,核心動(dòng)畫枷莉,幀動(dòng)畫娇昙,自定義轉(zhuǎn)場(chǎng)動(dòng)畫。 1.UIView...
    請(qǐng)叫我周小帥閱讀 3,092評(píng)論 1 23
  • 一笤妙、初始化方法 1冒掌、- initWithFrame: UIView *view = [[UIView alloc]...
    默默_David閱讀 2,508評(píng)論 1 3