【代碼筆記】iOS-字體抖動動畫

一,效果圖。

二,代碼。

ViewController.m

復制代碼
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];button.frame=CGRectMake(10, 100, 100, 200);button.backgroundColor=[UIColor redColor];[button setTitle:@"按鈕" forState:UIControlStateNormal];[self.view addSubview:button];//按鈕的動畫效果[self buttonAnimation:button];}//按鈕出現的時候有一個動畫效果
- (void)buttonAnimation:(UIButton *)sender
{CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];CATransform3D scale1 = CATransform3DMakeScale(0.5, 0.5, 1);CATransform3D scale2 = CATransform3DMakeScale(1.2, 1.2, 1);CATransform3D scale3 = CATransform3DMakeScale(0.9, 0.9, 1);CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);NSArray *frameValues = [NSArray arrayWithObjects:[NSValue valueWithCATransform3D:scale1],[NSValue valueWithCATransform3D:scale2],[NSValue valueWithCATransform3D:scale3],[NSValue valueWithCATransform3D:scale4],nil];[animation setValues:frameValues];NSArray *frameTimes = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],[NSNumber numberWithFloat:0.5],[NSNumber numberWithFloat:0.9],[NSNumber numberWithFloat:1.0],nil];[animation setKeyTimes:frameTimes];animation.fillMode = kCAFillModeForwards;animation.duration = 0.3f;[sender.layer addAnimation:animation forKey:@"DSPopUpAnimation"];
}
復制代碼

?

?

?
?

轉載于:https://www.cnblogs.com/yang-guang-girl/p/5759795.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271132.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271132.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271132.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java for循環如何優化_java for循環及其優化

for循環1.首先知道,for循環的3個表達式的意思:表達式1: 一般為賦值表達式,給控制變量賦初值;表達式2: 關系表達式或邏輯表達式,循環控制條件;表達式3: 一般為賦值表達式&…

ElementUI+VUE 日期控件禁用用法

今天給大家整理一下ElementUIVUE 日期控件禁用用法&#xff0c;希望對大家有所幫助&#xff01;HTML文件<el-date-pickerv-model"value"type"date":editable"false"placeholder"開始日期"value-format"yyyy-MM-dd":picke…

利用rfcomm實現樹莓派與手機通信_工業物聯網 | 怎么用NodeRed實現樹莓派與阿里云物聯網平臺通信?虹科告訴你!...

想獲取更多IIOT干貨請點擊藍字&#xff0c;關注我們虹科工業樹莓派高性能多接口寬溫--適應惡劣環境★★★★★Node-RED是構建物聯網(IoT)應用程序的強大工具&#xff0c;它使用可視化的編程方法&#xff0c;允許開發人員將預定義的代碼塊(稱為“節點”)連接在一起以執行任務。當…

關于“using namespace std”

http://www.cnblogs.com/uniqueliu/archive/2011/07/10/2102238.html轉載于:https://www.cnblogs.com/prayer521/p/5762948.html

mysql的mtr是指什么_MySQL中MTR的概念

MTR全稱是Mini-Transaction&#xff0c;顧名思義&#xff0c;可以理解為"最小的事務"&#xff0c;MySQL中把對底層頁面的一次原子訪問的過程稱之為一個Mini-Transaction&#xff0c;這里的原子操作&#xff0c;指的是要么全部成功&#xff0c;要么全部失敗&#xff0…

前端:Element UI 多選框組用法筆記

今天給大家分享一下Element UI 多選框組用法筆記&#xff0c;直接上代碼&#xff01;<html><head></head><body><el-form> <el-form-item label"興趣愛好:"> <el-checkbox-group v-model"form.checkList"> <…

xiaocms 關于搜索功能 添加搜索字段

自己折磨了好幾天 就是沒研究個出像樣的的東西 看了一下 core/controller/index.php searchAction()方法 但是不知從何下手。查了sql語句&#xff0c;還是沒實現 請教了一位自學php的小弟 &#xff0c;人家三下五除二的功夫就做出來了 解決的思路是一樣的&#xff0c;可我就是…

python編程第四版_清華編程教授強力推薦《Python編程》,指導你如何學習python

Python編程真的那么容易嗎&#xff1f;僅僅是看理論就可以學以致用嗎&#xff1f;今天我給你介紹的這本書&#xff0c;也許會讓你開始改變這種想法&#xff0c;因為這本書上的練習和案例以及指導本身就足夠學好Python了。清華編程教授強力推薦《Python編程》&#xff0c;指導你…

java 構造 statict_java學習:構造方法、static、final

在了解了java的基本數據結構后&#xff0c;開始學習java的類。java中的類也是一種數據結構&#xff0c;我認為它和C中的結構體挺像。類中可以有屬性和方法。類的方法中比較特別的是構造方法。java中類的構造方法要和類名相同&#xff0c;且沒有返回值。構造方法主要用于為類的對…

微信終于可以發送大文件了!

來源丨擴展迷EXTFANS&#xff08;ID&#xff1a;infinitydaily&#xff09;https://mp.weixin.qq.com/s/EAwYnq7435oMQnz6JqkHYg微信作為一款國民級的通訊軟件&#xff0c;雖然用戶基數龐大&#xff0c;但在用戶體驗方面一直飽受詬病&#xff0c;尤其是在部分功能方面&#xff…

Iterable 超級接口

這是一個老祖宗,一代一代往下撥 collection 的方法如下,是一個跟接口方法如下,見API collection : add():添加一個元素     addAll():添加一組元素 clear();清空     remove(Object o) &#xff1a;移除     removeAll():移除一組元素     isEmpty();判斷集合…

pc寄存器or程序計數器

一&#xff1a;PC寄存器解釋 二&#xff1a;PC寄存器的作用

項目設計基礎:處理過程設計相關知識介紹?

處理過程設計關鍵是用一種適當的表示形式來描述每個模塊執行過程。常用的表示形式有圖形、語言、表格。比如傳統的框圖、判定表等。1、程序流程圖&#xff08;Program Flow Chart&#xff09;程序流程圖也成為程序框圖&#xff0c;是最早、流行最廣泛的一種圖形表示方法。程序流…

關于JS中的定時器!!!

定時器: 周期性定時器 一次性定時器 1. 周期性定時器: 讓程序每隔一段時間間隔&#xff0c;反復執行一項任務 何時使用: 只要連續&#xff0c;有規律的持續播放的動畫 如何使用: 3件事&#xff1a; 1. ***任務函數: 定時器每次執行的任務 function task(){...} 任務函數通常要…

python 更新數據庫歷史_python 實現數據庫中數據添加、查詢與更新的示例代碼

一、前言最近做web網站的測試&#xff0c;遇到很多需要批量造數據的功能&#xff1b;比如某個頁面展示數據條數需要達到10000條進行測試&#xff0c;此時手動構造數據肯定是不可能的&#xff0c;此時只能通過python腳本進行自動構造數據&#xff1b;本次構造數據主要涉及到在某…

git沖突“accept theirs”和“accept yours”

Accept Yours 就是直接選取本地的代碼&#xff0c;覆蓋掉遠程倉庫的 Accept Theirs 是直接選取遠程倉庫的&#xff0c;覆蓋掉自己本地的 我們選擇Merge,自己手動行進選擇、修改。 這里左邊部分是你本地倉庫的代碼&#xff0c;右邊部分是遠程倉庫的代碼&#xff0c;中間的res…

系統實施基礎:系統實施的相關知識介紹

1、系統實施的目的系統實施屬于新系統開發工作的最后一個階段&#xff0c;屬于交付系統給客戶的最后階段。2、系統實施的任務硬件準備&#xff1a;按照總體設計方案準備服務器、配置網絡系統。主要包括計算機主機/云服務器、輸入輸出設備、存儲設備、通信設備等。軟件準備&…

線程同步以及yield()、wait()、Notify()、Notifyall()

一、線程同步 1、線程同步的目的是為了保護多個線程訪問一個資源時對資源的破壞。2、線程同步方法是通過鎖來實現&#xff0c;每個對象都有切僅有一個鎖&#xff0c;這個鎖與一個特定的對象關聯&#xff0c;線程一旦獲取了對象鎖&#xff0c;其他訪問該對象的線程就無法再訪問該…