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不會重新整理的我已經死了 😼