gpt4 book ai didi

ios - 长按后调用 didSelectRowAtIndexPath

转载 作者:行者123 更新时间:2023-12-01 22:50:29 31 4
gpt4 key购买 nike

我在 uitextfield 正下方有一个 uitableview,它在 uitableview 单元格 中填充类似的字符串。项目被填充。但是,长按后会调用 didSelectRowAtIndexPath

我的UITableView(嵌入在UIScrollView中)- didSelectRowAtIndexPath: 仅在长按自定义单元格后调用

我的 View 层次结构:

  • UIScrollView(外滚动)
    • 其他一些 View 和按钮
    • UITexfield
    • UITableView( TableView )

我的代码

class MyViewController:  BaseViewController , UITextFieldDelegate , UITableViewDelegate , UITableViewDataSource , UIGestureRecognizerDelegate  {



@IBOutlet weak var autocompleteTableView: UITableView!
var pastUrls = ["Men", "Women", "Cats", "Dogs", "Children","aaaaaaaaa","aaaaaaaaaaaaaaaaaaa","aaaaaaaaa","a","aa","aaa"]
var autocompleteUrls = [String]()

@IBOutlet weak var image_view_seacrh_ifsc: UIImageView!


@IBOutlet weak var scrollView: UIScrollView!


override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
self.scrollView.panGestureRecognizer.delaysTouchesBegan = true

autocompleteTableView.delegate = self
autocompleteTableView.dataSource = self
autocompleteTableView.scrollEnabled = true
autocompleteTableView.alwaysBounceVertical = false
autocompleteTableView.allowsSelection = true
autocompleteTableView.allowsSelectionDuringEditing = true

autocompleteTableView.hidden = true




super.hideKeyboard()
super.showNavigationBarBackButton()

let gesture_search_ifsc = UITapGestureRecognizer(target: self, action: "action_Search_Ifsc:")
gesture_search_ifsc.delegate = self
gesture_search_ifsc.numberOfTapsRequired = 1

image_view_seacrh_ifsc.userInteractionEnabled = true
image_view_seacrh_ifsc.addGestureRecognizer(gesture_search_ifsc)


}




func searchAutocompleteEntriesWithSubstring(substring: String)
{
autocompleteUrls.removeAll(keepCapacity: false)

for curString in pastUrls
{
var myString:NSString! = curString as NSString

var substringRange :NSRange! = myString.rangeOfString(substring)

if (substringRange.location == 0)
{
autocompleteUrls.append(curString)
}
}

autocompleteTableView.reloadData()
//autocompleteTableView.hidden = false
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return autocompleteUrls.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


let cell: AutoBankCell = tableView.dequeueReusableCellWithIdentifier("AutoBankCell") as! AutoBankCell

cell.label.text = self.autocompleteUrls[indexPath.row]
//cell.lbl.text = self.autocompleteUrls[indexPath.row]

return cell


}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let selectedCell : UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!
self.bank_name.text = self.autocompleteUrls[indexPath.row]

self.autocompleteTableView.scrollEnabled = true
self.autocompleteTableView.hidden = true
}


}

当未嵌入 UIScrollView 中时,我的 UItableView 会被填充并正常工作。

最佳答案

尝试在您的 ScrollView 中添加uiview,并添加该uiview中的每个元素,例如您的tableView、textfield、views和按钮

因此,该 View 充当容器 View 。

如果您使用自动布局,请确保设置正确的约束。

第二件事是隐式删除不必要的手势识别器,这不是必需的。

Tableview 默认情况下启用滚动,因此无需再次将其设置为 true。 (顺便说一句,这不会影响您的问题!!)

因此,删除不必要的配置并进行正确的设置,我认为您的问题将会得到解决。

关于ios - 长按后调用 didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38217789/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com