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

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

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

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

2回答

10239閲覧

UIButtonの位置指定について教えて下さい

yoppy0066

総合スコア293

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

2クリップ

投稿2015/04/16 05:28

編集2015/04/16 06:16

ボールドテキストUIViewにUIButtonを追加する際に位置について教えてください

UILabelなどの配置のの方法は

myLabel.frame = CGRectMake(10, 100, 100, 30)
みたいな感じで、frameで設定して親ビューに対する位置ということでわかるのですが、ボタンの位置指定のサンプルなどを見ると

myButton.frame = UIButton(frame: CGRectMake(10, 100, 100, 30))
myButton.layer.position = CGPoint(x:10, y:100);
としても、frameで設定したものは期待通りの場所に配置されません。
layer.positionを設定すると確かに位置は変わるのですが、これは何を設定しているのでしょうか?

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2015/04/16 06:16

こんにちは。 myButton.frame = UITextField(frame: CGRectMake(10, 100, 100, 30))  の 右辺に「UITextField」があるのは記載まちがいではありませんか。
yoppy0066

2015/04/16 06:18

ご回答ありがとうございます。間違いです!修正しました
guest

回答2

0

ベストアンサー

こんにちは。

Swiftによるボタン生成の基本的な流れはつぎのとおりです。

lang

1// ボタンを作成する 2let myButton: UIButton = UIButton() 3 4// ボタンのサイズを設定する 5myButton.frame = CGRectMake(0, 0, 200, 40) 6 7// ボタンを配置する場所を設定する 8myButton.layer.position = CGPoint(x: self.view.frame.width/2, y:100) 9 10// ボタンの角丸半径を設定する 11myButton.layer.cornerRadius = 10.0 12 13// ボタンのボーダー幅を設定する 14myButton.layer.borderWidth = 1 15 16// ボタンをViewに追加する 17self.view.addSubview(myButton)

以上、ご参考いただければ幸いです。

投稿2015/04/16 06:06

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yoppy0066

2015/04/16 06:17

ご回答ありがとうございます myButton.layer.positionは何の位置をさしているのでしょうか?
退会済みユーザー

退会済みユーザー

2015/04/16 06:30

myButton.layer.position はボタンが配置されているレイヤーの位置を指定するものです。 この例では、x軸をスクリーン幅の半分(self.view.frame.width/2)、y軸を100だけ移動させるという指示をしています。
yoppy0066

2015/04/16 06:38

ご回答ありがとうございます ラベルなどに設定するframeのように親ビューに対する座標で設定する方法はないのでしょうか?
退会済みユーザー

退会済みユーザー

2015/04/16 06:49

ご存じだと思いますが、ユーザーに画像やボタン、テキストなどをみせるために使われる要素を Viewといいます。 たとえば、UIKitという Frameworkでは、UIView、UIImageView、UITextView、UITextField、UILabelなどが提供され、UIButtonもそのひとつです。 Viewは初期状態では、装飾や変形などはされていません。 そこで、多くの場合、layerというもの用いてパラメーター(エフェクトをふくむ)をセットします。
退会済みユーザー

退会済みユーザー

2015/04/16 06:53

Swiftでは、ラベルも、myLabel.layer.position = CGPoint(x: self.view.bounds.width/2,y:100) などとして位置を設定するのが多いのではないかと思いますが……
退会済みユーザー

退会済みユーザー

2015/04/16 07:06

let myButton:UIButton = UIButton(frame: CGRectMake(10, 100, 100, 20)) おそらく、でも生成できると思います。 ※この場合、myButton.layer.position = CGPoint(x:10, y:100) の行は不要です。
guest

0

yoppy0066さんの疑問は、
私が質問した内容と同じかな、と思ったので貼っておきます
https://teratail.com/questions/8613

投稿2015/04/16 07:19

YosukeNakayama

総合スコア80

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問