質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

231閲覧

外部クラスに対するオートレイアウト

at3250

総合スコア8

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/06/24 18:05

編集2020/06/25 00:57

実現したいこと

現在、タイマーアプリの作成をしています。その中でカウントダウンを視覚的に見せるためにKDCircularProgressという外部からのクラスを使用しています。(https://github.com/kaandedeoglu/KDCircularProgress)。実現したいこととしましては、このKDCircularProgressの位置をオートレイアウトで設定したいと思っております。具体的には、下記スクリーンショット(スクリーンショット1枚目参照)内のボタンとの距離に対して制約をかけたいと考えてます。なお、KDCircularProgressはタイマーがスタートしたタイミングで呼び出され、時間設定の時には PickerViewが表示されるようになっている(スクリーンショット2枚目参照)。

発生している問題

オートレイアウトを達成するためにKDCircularProgressのコードをいじるべきなのか、それともviewDidLoad内で行うことができるのかがわかっていない。なおCGRectとオートレイアウトは真逆の関係ということは理解しています。もし、上記の実現したいことを実現できる手がかりとなるようなリンク・サンプルコードを提供していただけると幸いです。

コード

KDCircularProgress.swift (GitHub)
自身のコードは以下の通りになります(該当するコードのみ)。

class ViewController: UIViewController { let progress = KDCircularProgress(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) override func viewDidLoad() { super.viewDidLoad() { progress.startAngle = -90 progress.progressThickness = 0.2 progress.trackThickness = 0.6 progress.clockwise = true progress.gradientRotateSpeed = 1 progress.roundedCorners = false progress.glowMode = .forward progress.glowAmount = 0.9 progress.set(colors: UIColor.cyan ,UIColor.white, UIColor.magenta, UIColor.white, UIColor.orange) progress.center = CGPoint(x: view.center.x, y: view.center.y + 20) } } }

スクリーンショット(一部)

スクリーンショット1枚目
1

スクリーンショット2枚目
2

補足情報

swift: 4.2
XCode: 11.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/06/24 20:05 編集

KDCircularProgress を Storyboard に配置して制約を張ればいいのでは。IBInspectable に対応してるようなので、startAngle などの設定も Storyboard でできるかも。あと、リンクが間違ってるので、https と // の間に : を入れてください。
at3250

2020/06/25 02:46

hoshi-takanoriさん リンクのご指摘ありがとうございます。修正いたしました。 また、おっしゃっている通りKDCircularProgressをStoryboardに配置して制約を張る事により、上記の問題は解決しました。アドバイス感謝しております。
guest

回答1

0

自己解決

KDCircularProgress を Storyboard に配置して制約を張ることにより解決。

投稿2020/06/25 02:47

at3250

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問