Skip to Content

電腦

Cocoa 用程式操控視窗 (上)

 

在這系列【Xcode 用 Storyboard 開發程式記錄】已經學會了建立視窗與畫面,開啟視窗,以及為元件寫簡單程式。

底下這一系列就要學習如何用程式來開啟視窗,以及跨視窗操作視窗和元件等各種功能,最後再實作一個總複習,讓視窗與元件的控制可以自在無礙,這也是未來設計 CBReader Mac 版的的前測試。

 

Xcode 用 Storyboard 開發程式記錄 (4/4)

 

在獨立檔案建立共用物件

這個階段要建立一個共用物件,例如程式的設定資料,我希望在一個獨立的檔案建立 CSetting 類別,產生 Setting 物件,然後在第二個視窗去修改設定內容,並且在第一個視窗可以取得修改過的資料。

同樣建立新檔,這次不是視窗,所以選空白的 Swift File。

Xcode 用 Storyboard 開發程式記錄 (3/4)

 

建立第二視窗

接著要設計開啟第二個視窗的功能。

首先打開元件列表,將 View Controller 拉到設計畫面,也就是藍框的位置,那就是第二個視窗。

Xcode 用 Storyboard 開發程式記錄 (2/4)

設計畫面

現在要在畫面上加一些元件。

先按下右上角紅框的+號,會出現元件列表,把一個 Push Button 拉到畫面的 View 中。

Xcode 用 Storyboard 開發程式記錄 (1/4)

這一篇算是自己初學 Xcode + Storyboard 的記錄,想要了解檔案、視窗之間彼此的關係。

Mac 最新推出的是 SwiftUI 框架,但它必須要最新的 macOS 10.15 Catalina 才能執行,而且參考資料不多,所以我還是先學習 Storyboard。

以下記錄是自己查詢及摸索來的,主要目標是讓程式可以執行,並不一定是正確的或最好的,也許解釋上還有錯誤,參考時請小心。

在 Xcode 操作 Git

我未來有機會要在 Mac 的 Xcode 開發程式,因為是在不熟悉的環境,所以要先了解一些基本的工具,其中版本控制的 Git 就是重要的工具之一。

在 Windows 環境下,我使用 Git 是用 TortoiseGit 這一套工具,它是 GUI 界面,非常方便好用。在 Windows 下的開發環境或 VSCode 等編輯程式雖然也有整合 Git,我就懶得學那麼多套了,直接用 TortoiseGit 來操作。當然,我更懶得背 Git 的指令了。

在 Mac 上,我雖然有安裝 Sourcetree 這套工具,但還沒有熟悉,所以打算直接學習在 Xcode 上操作 Git,也省得每次要離開 Xcode 才能操作 Git 的功能。

底下記錄我常用的功能與操作方式,不過並不會介紹 Git 的細節,所以這是只適合對 Git 已有初步認識的人閱讀的。

環境

macOS 10.15 Catalina

Xcode 11.1

 

在 Mac 上安裝二套 macOS

很多人都知道多重開機,在使用 Windows 時常見到的就是用不同的硬碟或分割區來安裝另一套 Windows 或 Linux 系統,另一種方式就是用虛擬主機來啟動另一套作業系統,我也試過在虛擬主機安裝過 Mac 來測試。

在 Mac 上也有內建的 Boot Camp 可用來安裝 Windows,同樣也可以使用虛擬主機程式來安裝 Windows。

但是若要安裝二套 macOS 呢?對 Mac 是超級新手的我來說,以前還真沒聽過有人討論這件事。

Drupal 7 一頁包含多個 Pager 的設定

這個標題似乎不太好懂,我也想不出更明白的名稱,總不能寫「二千三百萬人都大吃一驚的設定」吧。
 
問題是這樣的,我把舊的 Drupal 6 網站轉成 Drupal 7 之後,發現一個怪現象。原本首頁底下有個 Pager,就是列出還有多少分頁的連結,原本應該像這樣:
 
 
結果更新完之後,發現它變成只有這樣:
 
 
這樣明顯有問題,因為不可能只有二頁,但我也不知為何會如此?
 

宋體明體略說

繁體版的 Windows 中最常看到的就是細明體,但有時看到宋體或仿宋體,不太清楚它們的差別,這裡簡單介紹一下我的了解。

 

這是一般的楷體,粗細差不多,橫線則左低右高,差不多就是毛筆寫出來的字。

 

使用 Android Webview 建立 App

原本 CBETA 有一個很簡單的 Android APP,就是用 WebView 元件開啟 CBETA 網站,就像一個隱藏版的瀏覽器。

 

不過從 Android 9(API級別28)開始,WebView 默認情況下已停用明文支持,所以程式勢必要修改。於是用 Android Studio + Kotlin 做了一個簡單的版本,同時也處理了明文不支持的問題。

 

訂閱文章


about seo