web-dev-qa-db-ja.com

XcodeでストーリーボードからViewControllerにアイテムをドラッグアンドドロップできない

私は数日前にxcodeを使い始め、今日はメインストーリーボードからViewControllerにテキストビューを接続しようとしましたが、機能していないことがわかりました。

Ctrlキーを押しながらクリックしてアイテムをドラッグできますが、viewcontroller.hと.mの両方に配置できません。 UIViewcontrollerではなくviewcontrollerであることを再確認したため、そうではありません。

Yosemite 10.10 macを使用しています。

あらゆる種類の助けをいただければ幸いです。

20
Ohad Klein

ストーリーボードでViewControllerを選択し、ViewControllerの名前を.hまたは.mファイルの名前に変更してから、Ctrlキーを押しながらクリックしてドラッグします enter image description here

25
Suhit Patil

初心者向け-> 「Ctrl」キーをドラッグアンドドロップ中に押し下げた状態をコード上に保持したことを確認してください。これは簡単に見落とされる可能性があります。

16
Abhijith C R

私にとっての解決策は、コントローラーのすべてのサブビューを表示するドロップダウンメニューの[表示]項目をクリックすることでした。

Click on root view

ストーリーボード上のコントローラー画像をクリックするだけでは、ドラッグアンドドロップ機能のコントローラーを適切に「選択」するように表示されないため、ベースビューを選択する必要があります。

7
DiscDev

アシスタントエディターモードになっていることを確認します(コードとレイアウトエディターが隣り合っている場合)。

Apple から:

Interface Builderを標準エディターペインで開いた状態で、設定するコントロールを選択し、アシスタントエディターボタン( enter image description hereワークスペースツールバーの )。アシスタントエディターは、オブジェクトの実装ファイルを開きます。

Interface Builderのコントロールから実装ファイルにControlキーを押しながらドラッグします。 (スクリーンショットでは、アシスタントエディターは、WarriorボタンのView Controllerの実装ファイルを表示します。)Xcodeは、アクションメソッドをコードのどこに挿入できるかを示します。

5
Alan

ストーリーボードでビューを選択し、クラスの右側にあるIDインスペクターをクリックしてみてください。 View Controllerの名前を入力してから、ストーリーボードからView Controllerにアイテムをドラッグアンドドロップします。

それが役に立てば幸い。

1
Pradumna Patil

コード内の任意のポイントへのドラッグは必ずしも機能しないことに注意してください。コードのある場所にドラッグして接続を作成できなかった場合は、別の場所にドラッグしてみてください。私にとっては、機能しない途中でドラッグして接続を追加しようとしていました。関数の最初の行、または関数の間にドラッグすると機能しました。

Connection was allowed here between functions

Connection was not allowed here inside the middle of a function

注:Xcode 9.1を使用しています

1
Ian D. Miller

問題のアイテムが、ドラッグを制御するファイルに接続されていることを確認します(IDインスペクターでクラスを指定します)。

0
Shawn

ViewController.Swiftファイルのクラスの名前を(ViewControllerからViewController2に)変更し、メインストーリーボードのView Controllerのカスタムクラス(ViewControllerからViewController2に)を変更して、Ctrl-ドラッグアンドドロップが再び機能するようにしました。

ViewController.SwiftおよびメインストーリーボードのViewController 2からViewControllerに名前を変更しても、Ctrlキーを押しながらドラッグアンドドロップすることは妨げられず、その後も機能し続けました。

0
A. R. Rørvik

ストーリーボードのviewControllerをviewControllerクラスに接続していないと思います。 「suhit」が回答にアップロードしたスクリーンショットを確認してください。それ以上のことをお伝えしたいと思います。ストーリーボードオブジェクトをクラスに接続する必要があるときはいつでも。

  • 最初にユーティリティパネル(右側)に移動し、そこにクラスを設定します。
  • その後、コントロールをクラスに接続できます

それがあなたのお役に立てば幸いです。

0
Pravin Tate