2015-04-12 218 views
-1

因此,在這裏附加的截圖中有3個大「按鈕」。當點擊一個按鈕時,下面有一個小箭頭,下面的內容會改變。 我想做那樣的事情。swift的自定義按鈕

正如你可以在每個按鈕上看到有幾個不同大小的文本。 我正在考慮使用自定義分段控件。這是要做的嗎? 或者我應該使用自定義按鈕並處理它們中的每一個的「選定」狀態。

如何做一個自定義按鈕與不同的文本里面?

enter image description here

+0

WWDC14會話221 - 創建自定義用戶界面。 – Abizern

回答

1

你描述的是一個UITabBarUITabBarController或多或少的行爲。但是,我不認爲這個系統是爲了讓你自定義外觀而設計的。

你所描述的自定義控制也類似於UISegmentedControl,但並不完全,要麼。再次,我不認爲UISegmentedControl設置爲這樣的自定義行爲。

我可能會創建UIControl的自定義子類,它具有3個狀態(或更好的N個狀態,每個狀態都有文本,可選圖像等等,以及所有可能狀態的設置數組,以及一個代表當用戶更改狀態,可以通知)。

那麼你或許應該創建一個包含在頂部自定義控制和低於視圖承載n個子視圖控制器的一個父視圖控制器。當用戶點擊您的控件的某個部分時,您將在不同的子視圖控制器中進行動畫處理。你可以使用方法 transitionFromViewController:toViewController:duration:options:animations:completion:,這很容易使用。

+0

謝謝,不錯。 –

0

我會建議使用UIPageViewController爲用戶有望向左滑動,寫字,當點擊一個按鈕,你可以模擬這兩個內容的[在UIViewController(S)的運動,容易

頁面指示符
0

我不認爲這是可能採用分段控制,除非你想用圖片的文本,因爲UISegmentedControl不支持歸因字符串。我將使用3 UIButtons作爲標題的屬性字符串,因此您可以針對不同的行使用不同的字體大小。使用CAShapeLayer可以很容易地繪製底部的三角形。最好將UIButton的子類繼承下來,這樣你就可以將必要的邏輯用不同的字體構造成標題,然後在你的視圖控制器類之外進行繪製。

+0

也很好這個解決方案。 –