Error Type '()' cannot conform to 'View'

在佈局畫面時,遇到

Type ‘()’ cannot conform to ‘View’; only struct/enum/class types can conform to protocols

的錯誤訊息.


SwiftUI 物件階層

設計App時,除了空件的位置之外,階層也是很重要的一環,它將決定A元件覆蓋B元件,還是被B元件所覆蓋.

在SwiftUI中主要有ZStack, Overlay 和 Background三種技術可以調整階層.


SwiftUI 背景如何渲染於Status Bar底下

在 WWDC 2019 大會上,Apple 發佈了全新的框架SwiftUI,讓你用更少的程式碼來設計及開發iOS App.

以往Swift的底層依舊是Object C,而SwiftUI已將底層全面換成Swift語法.

Swift: UIKit通常需要搭配storyboards一起使用,而SwitfUI完全使用程式碼來建構,並且可搭配Automatic Preview來即時預覽畫面.

設計App時,通常會設定自己的背景圖片,接下來我們來看如何設定


iOS 輸入框-提示文字

在 iOS 6+ 以上,針對輸入框提供了attributedPlaceholder來設置提示文字的顏色.


Android AutoSize TextView

當一個元件所顯示的內容過長時,可能會顯得不完整。在Android 8 (Oreo, SDK 26)增加了自動調整字體大小,讓TextView文字大小自動擴展或收縮,使得輸入時可以看到完整內容。


Android 自動填入 Autofill Framework

Android 8 (Oreo, SDK 26)增加了自動填入的框架,使我們在填寫表單時更快速較不易出錯。

本篇中使用基礎元件(EditText, SharedPreferences),來完成自動填入的功能。


Android Google TTS

Google TTS相對於其他TTS的使用方式來講非常的容易上手,網路上也有很多教學文章可參考。

但由於開發所使用的機器Android版本較舊,只有早期的Pico TTS可以使用,必須上網下載Google TTS apk才能使用Google文字轉語音引擎。

下載並安裝好Google TTS後,遇到以下幾種問題及解決方式。


Android 播放 Gif 檔

Android 要在app上播放gif的方式有很多種, 可以使用ImageView輪撥, WebView來播放等等。
在網路上收尋到第三方Library : GifImageView搭配Glide來播放gif檔。Android上的Glide主要是處理圖片與影片的技術,讓原本的加載流程更加順暢。


Android Change Resolution

在Android系統中,我們可以通過編譯系統檔案來更改Resolution。

必須具有root權限,才能編譯系統檔案。

先取得root權限並remount後,使用adb shell進入Android系統中。

cmd
1
2
3
4
adb root
adb remount
adb shell

Adb 修改方式