Work(5-5)文字的縮放和字數 — UISlider & UITextField 練習

先は見えない 「けど大丈夫」

希望疫情快點過去 各國都能恢復生機 🙏

首先我們從彼得潘文章畫面中大概看需要用哪些元件模擬做出來

做了一個87分像的畫面再來拉程式碼

偵測 text field 的文字改變

提示:IBAction 選擇 event Editing Changed

我們先來偵測使用者打了多少個字,首先UITextField和UILabel字數拉程式

UITextFieldIBAction 選擇 event Editing Changed

偵測字數會有兩種可能 1.使用者沒打字 2.使用者打了多少字

所以我們要用萬用的if&else大法

這樣就完成了!但是模擬器測試時不能用中文沒關係以下文章教你換

並且叫出模擬器的鍵盤,點Toggle Software Keyboard

就可以完成第一部份啦👏

UISlider

照彼得潘的文章一樣先調整Slider最大最小值

一樣拉出文字大小/Slider最小跟最大/Slider程式碼

為了讓數字漂亮我多設定了Int讓他成整數

做完如下

但此時雖然Slider滑動正常,但text field還是自己活得快樂完全不受影響

接下來我們要再拉一次UITextField , 但這次不是選擇Action而是outlet

我們先設定此UITextField是打出來的字體叫PrintTextField

然後宣告一個常數叫做使用者打出的文字字體 (我原本宣告var但Swift建議我換成let就換了,兩者都可以成功)為打出來的字體大小PrintTextField.font

let textFont = PrintTextField.font

再來宣告一個常數為字體大小是slider中sender的數值

let fontSize = sender.value

然後因為 slider 的 value 型別是 Float,UIFont 的 function withSize(_:) 的參數型別是 CGFloat,所以要將 Float 變成 CGFloat。

也就是再宣告一個textFieldSize型別是 CGFloat會等於CGFloat(slider中sender的數值)

let textFieldSize:CGFloat = CGFloat(fontSize)

打出來的字體.字體 =使用者打出的文字字體?.大小( Float 變 CGFloat)

PrintTextField.font = textFont?.withSize(textFieldSize)

以上就會完成成功✅

附上GitHub

當開始上傳GitHub要一直重看文章怎麼傳,但現在太習慣上傳了

動作行雲流水像鬼一樣 ~~

當初上傳GitHub不會重新整理的我已經死了 😼

--

--