私はあなたに簡単な解決策を提供します。
まず、現時点であなたが見せている事を表している列挙型を作成します。
enum CountDownMode {
case Days, Minutes, Hours, Seconds
}
そして、コントローラでこのような変数を宣言:
var currentMode = CountDownMode.Days
そして実際に、あなたはそのような単純な接触を認識するためにジェスチャ認識装置を使用する必要はありません。ただ、touchesBegan
を上書き:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
}
touchesBegan
では、currentMode
の値を使用して、簡単に次の何であるかのモードを把握し、それに応じてテキストを変更することができます。
switch currentMode {
case .Days:
// change text here
currentMode = .Minutes
case .Minutes:
// change text here
currentMode = .Hours
case .Hours:
// change text here
currentMode = .Seconds
case .Seconds:
// change text here
currentMode = .Days
}
それはラベルにする必要があります。 – Alex
大したことではなく、ラベルの上にボタンを置き、 'label.center = button.center、label.width = button.width、label height = button.height'のような自動レイアウトに整列させます – Traveler