テーブルビューを使用する検索フォームがあります。 Xcode 12を更新した後、今日UInwitch、UitextField、Uisliderは、UISLIDERの中にネストされている場合は機能しません。これをもう一度作るために設定する必要があると変更されたプロパティはありますか?
プロジェクトだけではないことを確認してください。新しいプロジェクトを作成し、その中にUITextFieldを入れていても機能しません。
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
let textField = UITextField(frame: CGRect(x: 5, y: 5, width: 400.0, height: 25.0))
textField.delegate = self
textField.backgroundColor = .blue
cell.addSubview(textField)
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("this will get called even when selecting the UITextField")
}
func textFieldDidBeginEditing(_ textField: UITextField) {
print("this is never called")
}
_
私はiOS 14にアップグレードされて以来、同じことが私に起こりました。
cell.ContentView.isuserInteractionEnabled = TRUE
同様の問題を持っていて、そしてそれについて続いていました...私のコードについての問題は、これを行っていたUITableViewCellの下での問題です。
didSet {
if contentView.backgroundColor == backgroundColor { return }
contentView.backgroundColor = backgroundColor
for v in otherView.subview { v.backgroundColor = backgroundColor }
}
ここでこの行を削除するcontentView.backgroundColor = backgroundColor
はトリックをしました。セルが表示され、重複していないcontentView
はありません
cell.contentView
に代わりにcell
に直接サブビューを追加することについての答えのみを見つけてください。
編集1 :さて、状況であなたを更新したいだけで、問題は私のサブビューがタイプUIStackView
がsubview
を使用していたので、実際にarrangedSubviews
を使用する必要がありました。
これが誰かを助けることを願っています