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

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

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

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

Swift

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

Q&A

解決済

1回答

4704閲覧

Swift シュミレータにツールバー(バーボタンアイテム)が表示されない

TRON1216.

総合スコア37

Xcode

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

Swift

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

0グッド

0クリップ

投稿2018/05/15 13:16

swift言語でiOSアプリ開発を行っています。立ち位置のアプリを作成したく、以下のように画面上にマス目を引いてラベルを一つ作りました。その画面を保存する機能や削除する機能を追加しようと思い、バーボタンアイテムを追加しました。しかし、実行してもシュミレータに表示されません。どうすれば良いでしょうか?おそらく@IBAction 付近がダメなんだとは思いますがどうすれば良いか調べても出て来ず、、、

import UIKit class ViewController: UIViewController { var label:UILabel! //labelの型が無を含んだUILabelクラスであることを示す(オプショナル型) var myLabel: UILabel! var turn = 1 //初期値1の変数turn @IBAction func showActivityView(_ sender: UIBarButtonItem) { let controller = UIActivityViewController(activityItems: [viewDidLoad()], applicationActivities: nil) self.present(controller, animated: true, completion: nil) } @IBAction func save(_ sender: UIBarButtonItem) { } @IBAction func Trash(_ sender: UIBarButtonItem) { } override func viewDidLoad() {//親クラスを編集することなく、子クラスの中で親クラスのメソッドを上書きできる super.viewDidLoad() // ->背景色を白色に変更する self.view.backgroundColor = UIColor.white // Do any additional setup after loading the view, typically from a nib. let (screenWidth, screenHeight) = (self.view.bounds.width, self.view.bounds.height) let (width, height) = (screenWidth/16, screenHeight/7) //1マスあたりの幅と高さを指定 for i in 0 ..< 16{ for j in 0 ..< 7{ //jが縦、iが横(ただし、デバイスを立てで見たとき) let label1 = UILabel(frame: CGRectMake(width*CGFloat(i),height*CGFloat(j+1),width,height)) //jだけにすると、最上段の空白がなくなる(番号をつけたいので空白で良い) label1/*button*/.layer.borderWidth = 1.0 //線幅を指定するプロパティ self.view.addSubview(label1/*button*/)//コメントアウトするとマス目がなくなったから必要っぽい } } print("マス目がViewに追加されました") // Labelを生成. myLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 40, height: 40)) myLabel.text = "1" myLabel.textAlignment = NSTextAlignment.center //画面長い方の中心に来るように設定違うかも myLabel.backgroundColor = UIColor.red myLabel.layer.masksToBounds = true myLabel.center = self.view.center //画面の短い方の中心に来るように設定 myLabel.layer.cornerRadius = 20.0 // Labelをviewに追加. self.view.addSubview(myLabel) print("駒がViewに追加されました")     override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

以下はストーリーボードと階層、シュミレータの画面を添付したものです。
イメージ説明
イメージ説明
イメージ説明

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

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

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

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

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

KojiDoi

2018/05/15 14:28

シミュレータですね。
guest

回答1

0

ベストアンサー

イメージの図を見たところ、UIBarButtonItemを直接設定していませんでしょうか?

イメージ説明

UIToolbarの中にUIBarButtonItemを設定して一番右のConstraintsのような形で制約を設定すると
下記のような形で表示されました。(ただ、ご質問のコードのままですと、UIToolbarにラベルが被ってしまうので、UIToolbarの上にUIViewを設けてその中に入れるようにしました。ラベルの位置も調整しています。ここはやられたいことに合わせて調整してください。)

イメージ説明

投稿2018/05/15 22:05

newmt

総合スコア1277

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

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

TRON1216.

2018/05/16 11:52

ToolBarを用いてからBar Button Itemをつかわないと表示されないみたいですね。本当にありがとうございます! シミュレータに表示はされました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問