14

アプリの Apple Watch バージョンのプログレス サークルを作成しようとしています。UIView を使用できないことはわかっているので (これにより、作業がはるかに簡単になります!)、代替手段を探しています。

基本的に、これらのプロトタイプのいずれかを作成したいと思います。

ここに画像の説明を入力

私が望んでいた方法は、背景レイヤーを通常の WKInterfaceImage として追加し、次に計算されたパーセンテージに基づいて円の周りを回転する WKInterfaceImage として進行矢印/線を追加することでした。

私はパーセンテージを計算しているので、基本的に、私が探しているのは、矢印を回転させるための数学コードの助けです。

これが可能かどうかは誰にもわかりません。アプリの実行中にサークルを更新しようとしているわけではありません。iOS バージョンに対応するために、Watch アプリの起動時に更新する必要があるだけです。

ありがとう!

4

6 に答える 6

11

別の解決策は、フレームの数ごとに 100 個の画像を作成することです。そうすることで、「startAnimatingWithImagesInRange:duration:repeatCount」メソッドを使用してアニメーションを表示できます。

問題は、各フレームをカスタマイズするのが難しいことです。誰かがこの問題について考え、ジェネレーターを作成しました。この名前で見つけることができます:

ラジアル バー チャート ジェネレーター

このリンクは、フレームをカスタマイズするのに役立ちます: http://hmaidasani.github.io/RadialChartImageGenerator/

また、git リンクにも同じサンプルがあります。単一のアーク フレームを含む 100 フレームの場合、ディスク上で約 1.8 MB を取得します。

于 2015-02-19T14:51:16.540 に答える
2

誰もコードを投稿しませんか??? ここにあります!楽しい:

1) ここで画像を作成します: http://hmaidasani.github.io/RadialChartImageGenerator/

2) ピッカーを View Controller にドラッグ アンド ドロップし、viewController.swift ファイルにリンクします。右側に表示されるメニューで、ピッカーのスタイルを「シーケンス」に設定します。

3) このコードを viewController.swift に追加し、ピッカーを IBOutlet と IBAction に接続します。

import WatchKit
import Foundation

class PickerViewController: WKInterfaceController {

    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
    }

    @IBOutlet var itemPicker: WKInterfacePicker!

    override func willActivate() {
        super.willActivate()

        let pickerItems: [WKPickerItem] = (0...100).map {
            let pickerItem = WKPickerItem()
            pickerItem.contentImage = WKImage(imageName: "singleArc\($0).png")
            return pickerItem
        }
        itemPicker.setItems(pickerItems)
    }

    @IBAction func pickerSelectedItemChanged(value: Int) {
        NSLog("Sequence Picker: \(value) selected.")
    }

    override func didDeactivate() {
        super.didDeactivate()
    }

}
于 2016-02-09T11:11:28.540 に答える
1

WKInterface クラスはサブクラス化できません。したがって、カスタム コントロールは使用できません。

また、アニメーションには制限があります。アニメーションを作成するには、すべてのフレームを画像として保存する必要があります。次に、これらの画像を循環する WatchKit アプリで画像ビューを作成できます。

ウォッチ ターゲットの Images.xcassets フォルダーに画像を保存し、アクティビティの完了率に基づいてフレームを変更してみます。

1 つ追加の注意事項: 各 WatchKit アプリが占めることができる時計のスペースは限られているため、100 個の画像を持つことは効率的ではありません (20MB だと思いますが、確かではありません)。たぶん、5%ごとに画像を持っています。

于 2014-11-22T02:34:50.963 に答える