2015-11-13 1 views
6

入力時に提案が表示されません。テーブルビューのセルとテキストフィールドがあります。スウィフトMPGTextFieldはテーブルビューのセルでオートコンプリートします

私はMPGTextFieldライブラリswift version(スイフト2をサポート)を使用しています。

これにはどのような解決策がありますか?

enter image description here

コード:

@IBOutlet weak var articleField: MPGTextField_Swift! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    articleField.mDelegate = self 
} 

func dataForPopoverInTextField(textfield: MPGTextField_Swift) -> [Dictionary<String, AnyObject>] { 
    return articles 
} 

func textFieldShouldSelect(textField: MPGTextField_Swift) -> Bool{ 
    return true 
} 

func textFieldDidEndEditing(textField: MPGTextField_Swift, withSelection data: Dictionary<String,AnyObject>){ 
    print(data["CustomObject"]) 
} 
+0

あなたはもっと細かいことはできますか?いくつかのコード?あなたは何を疲れましたか? – lukaivicev

+0

私はそれらの例を使用し、すべてが動作しますが、私はtableviewのセルにテキストフィールドを入れて、私はこのブレークを得る、提案を見ることができません。私は前に提案をする必要があります。コードで更新された質問.. –

+0

辞書はどこに保存されていますか?データはどこから解析/照会されていますか?たぶんあなたは、データのクエリに問題がある可能性があります(おそらくそうです)。コアデータまたはサーバーを使用して、必要なデータを表示していますか? – lukaivicev

答えて

3

は私がMPGTextFieldリポジトリをフォークしてきました

//BUG FIX - SHOW ON TOP 

//self.superview!.addSubview(tableViewController!.tableView) 

let aView = tableViewController!.tableView 
var frame = aView.frame 

frame.origin = self.superview!.convertPoint(frame.origin, toView: nil) 
aView.frame = frame 

self.window!.addSubview(aView) 

//// 

でこの行を置き換え、デモ目的に必要な変更を加えました。
あなたはhttps://github.com/rishi420/MPGTextField

で私のレポを見つけることができます。このレポをコンパイルするのXcode 7.1.1を必要とします。お気軽に投稿してください。 : - ]

+0

ありがとう、3つの結果が表示され、2番目または3番目をクリックすると、見つかったバグがもう1つあります。常に最初に選択します。 –

+0

バグを修正しました。レポが更新されました。 –

+0

あなたは私を理解しました。あなたが何か提案をクリックすると、常に最初の要素が選択されます。 –

2

私は本当に何が起こっているのかわかりません。オートコンプリートボックスはtableViewCellの下部に表示されていますか?その場合は、tableViewCellの場合はclipsToBoundsをfalseに設定してください。コンテンツビューの場合も同様です。

タッチイベントは、ビューフレーム外の領域ではデフォルトで認識されません。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    self.tableView.beginUpdates() 
    self.tableView.endUpdates() 
} 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    if tableView.indexPathForSelectedRow == indexPath { 
     return self.selectedCellHeight 
    } 

    return self.unSelectedCellHeight 
} 

あなただけに持っている:ルートの提案にタップをするには、このためのソリューションは、セルが選択されたセルの高さを設定することになるhitTest

+0

今、それは提案を表示しますが、私はそれらをクリックすることはできません..それはテーブルビューの提案であり、私は任意の提案をクリックすることはできません。これを修正するには? –

+0

イメージ:http://s23.postimg.org/oc6d3bc63/Simulator_Screen_Shot_Nov_17_2015_01_15_06.png –

+0

私はそのためのサンプルコードを教えてもらえますか? –

0

tableViewCellをサブクラス化し、オーバーライドする必要がありますunselectedCellHeightselectedCellHeight

beginUpdates()endUpdates()は、セルの高さとアニメーションそれを更新します設定します。 MPGTextField-Swift.swiftあなたは

self.superview!.addSubview(tableViewController!.tableView) 

ラインを見つけることができます。この機能では機能provideSuggestions()
を見つけるには

関連する問題