4

テキストフィールドをタッチしてドラッグしてビューをスクロールしようとすると、iPhoneの連絡先の編集ビューをスクロールするのと同じように、ビューは移動せず、テキストフィールド間をタッチしてドラッグしたり、横に移動したりしません。スクロールビューのテキストフィールドの一部は機能しますが、テキストフィールドにタッチすると機能しません。

任意の洞察をいただければ幸いです。ありがとう!

4

4 に答える 4

5

テキスト フィールドに追加した のdelaysContentTouchesプロパティをYESに設定してみてください。UIScrollViewこれにより、テキスト フィールド内でタッチしてからドラッグすると、スクロールできるようになります。

于 2012-08-26T02:21:13.440 に答える
5

に設定delaysContentTouchesしてtrueもうまくいきませんでした。何をしたかは、スクロールビューのジェスチャーレコグナイザーを繰り返し処理し、それぞれdelaysTouchesBegancancelsTouchesInViewtrueとに設定することでしfalseた:

scrollView.gestureRecognizers?.forEach {

    $0.delaysTouchesBegan = true; $0.cancelsTouchesInView = false
}
于 2018-05-08T04:19:23.917 に答える
1

私はそれがこの状況で解決すると思います

extension UITableView {

    override public func touchesShouldCancelInContentView(view: UIView) -> Bool {
        if view is UITextField || view is UITextView {
            return true
        }
        return super.touchesShouldCancelInContentView(view)
    }

}
于 2016-12-21T18:41:15.990 に答える
0

以下のアプローチで試してください。UIScrollView を ScrollView に置き換えて、コードをプロジェクトに追加するだけです。

スイフト 4.1

class ScrollView: UIScrollView {
  override func touchesShouldCancel(in view: UIView) -> Bool {
    if type(of: view) == TextField.self || type(of: view) == UITextView.self {
      return true
    }
    return super.touchesShouldCancel(in: view)
  }
}
于 2018-06-21T17:45:52.803 に答える