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

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

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

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

Q&A

0回答

1466閲覧

tabelViewでcontextMenuを表示すると制約のエラーが出ますが、解決する方法ご存知でしたら教えて下さい。

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

1クリップ

投稿2020/04/11 04:00

tabelViewcontextMenuを表示すると制約のエラーが出ますが、解決する方法ご存知でしたら教えて下さい。

イメージ説明

エラー

swift

12020-04-11 12:48:11.454940+0900 tContextMenuOnTableView[1683:59880] [LayoutConstraints] Unable to simultaneously satisfy constraints. 2 Probably at least one of the constraints in the following list is one you don't want. 3 Try this: 4 (1) look at each constraint and try to figure out which you don't expect; 5 (2) find the code that added the unwanted constraint or constraints and fix it. 6 (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 7( 8 "<NSAutoresizingMaskLayoutConstraint:0x600001f63930 h=--& v=--& UIInterfaceActionGroupView:0x7fea52436080.height == 0 (active)>", 9 "<NSLayoutConstraint:0x600001f60640 groupView.actionsSequence....height >= 66 (active, names: groupView.actionsSequence...:0x7fea52891200 )>", 10 "<NSLayoutConstraint:0x600001f73bb0 V:[_UIInterfaceActionGroupHeaderScrollView:0x7fea52899a00]-(0)-[_UIInterfaceActionVibrantSeparatorView:0x7fea527144f0] (active)>", 11 "<NSLayoutConstraint:0x600001f73ac0 V:[_UIInterfaceActionVibrantSeparatorView:0x7fea527144f0]-(0)-[groupView.actionsSequence...] (active, names: groupView.actionsSequence...:0x7fea52891200 )>", 12 "<NSLayoutConstraint:0x600001f60370 UIInterfaceActionGroupView:0x7fea52436080.top == _UIContentConstraintsLayoutGuide:0x7fea52435f10''.top (active)>", 13 "<NSLayoutConstraint:0x600001f603c0 V:[_UIContentConstraintsLayoutGuide:0x7fea52435f10'']-(0)-| (active, names: '|':UIInterfaceActionGroupView:0x7fea52436080 )>", 14 "<NSLayoutConstraint:0x600001f739d0 _UIInterfaceActionGroupHeaderScrollView:0x7fea52899a00.top == _UIContentConstraintsLayoutGuide:0x7fea52435f10''.top (active)>", 15 "<NSLayoutConstraint:0x600001f73980 groupView.actionsSequence....bottom == _UIContentConstraintsLayoutGuide:0x7fea52435f10''.bottom (active, names: groupView.actionsSequence...:0x7fea52891200 )>" 16) 17 18Will attempt to recover by breaking constraint 19<NSLayoutConstraint:0x600001f60640 groupView.actionsSequence....height >= 66 (active, names: groupView.actionsSequence...:0x7fea52891200 )> 20 21Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. 22The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

コード

swift

1import UIKit 2 3class FirstVC: UIViewController, UITableViewDataSource, UITableViewDelegate { 4 5 // generate ContexMenu 6 func tableView(_ tableView: UITableView, 7 contextMenuConfigurationForRowAt indexPath: IndexPath, 8 point: CGPoint) -> UIContextMenuConfiguration? 9 { 10 let item = contentsNames[indexPath.row] 11 12 return UIContextMenuConfiguration(identifier: nil, previewProvider: nil, actionProvider: { suggestedActions in 13 14 let copy = UIAction(title: "copy", image: UIImage(systemName: "doc.on.clipboard.fill")) { _ in 15 print("copyItem: (item)") 16 } 17 18 let rename = UIAction(title: "rename", image: UIImage(systemName: "square.and.pencil")) { _ in 19 print("renameItem: (item)") 20 } 21 22 let delete = UIAction(title: "delete", image: UIImage(systemName: "trash")) { _ in 23 print("deleteItem: (item)") 24 } 25 26 return UIMenu(title: "menuTitle", children: [copy, rename, delete]) 27 }) 28 } 29 30 31 32 var contentsNames: [String] = ["A", "B", "C", "D", "E", "F", "G", "H"] 33 34 @IBOutlet weak var tTableView: UITableView! 35 36 override func viewDidLoad() { 37 super.viewDidLoad() 38 39 } 40 41 @IBAction func newBtnDidTap(_ sender: Any) { 42 43 let vc = self.storyboard?.instantiateViewController(identifier: "DetailVC") as! DetailVC 44 45 vc.editPurpse = .create 46 47 self.present(vc, animated: true, completion: nil) 48 } 49 50 @IBAction func backFromDetailVC(segue: UIStoryboardSegue) { 51 52 let from = segue.source as! DetailVC 53 54 switch from.editPurpse { 55 case .create: 56 57 print("新規作成から戻ってきたよ") 58 59 contentsNames.append("newItem") 60 tTableView.insertRows(at: [IndexPath(row: contentsNames.count - 1, section: 0)], with: .automatic) 61 62 case .edit : 63 64 print("編集から戻ってきたよ") 65 66 if let indexPath = tTableView.indexPathForSelectedRow { 67 contentsNames[indexPath.row] = "edited" 68 tTableView.reloadRows(at: [indexPath], with: .automatic) 69 } 70 default: 71 fatalError("ここはとおらない") 72 } 73 } 74 75 // MARK: - Table view data source 76 77 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 78 // #warning Incomplete implementation, return the number of rows 79 return contentsNames.count 80 } 81 82 83 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 84 let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 85 86 cell.textLabel?.text = contentsNames[indexPath.row] 87 88 return cell 89 } 90 91 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 92 93 let vc = self.storyboard?.instantiateViewController(identifier: "DetailVC") as! DetailVC 94 vc.contentsNameStr = contentsNames[indexPath.row] 95 vc.editPurpse = .edit 96 97 self.present(vc, animated: true, completion: nil) 98 99 } 100} 101

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問