2015-11-14 55 views
0

我已經搜索了一段時間,但找不到任何相同的東西。UIToolbar在自定義UITableViewCell沒有響應與UIPickerView

我有一個UITableView,當某一行被選中時,我在下面插入另一行。 插入的行是一個自定義的tableviewcell,它包含一個UIPickerView。 pickerview可以正常工作,當選擇一個項目時,它可以觸發通知,發送選定的信息回到tableviewcontroller,然後刪除「pickerviewcell」。那裏一切都很好。 但是,如果用戶想要在uipickerview上來回滾動,這並不理想。所以我添加了一個uitoolbar到uipickerview,取消&完成按鈕。

但是取消和完成按鈕從未被解僱。

從我已閱讀的其他項目,他們談論UIFirstResponder等等,但他們都與使uipickerview uitextfield的inputaccessoryview有關。但那不是我正在做的事情。

我試過在代碼和故事板中做所有事情,每次都有相同的結果。

下面一些示例..

// (in my CustomTableViewCell's AwakeFromNib function) 
    let screenSize: CGRect = UIScreen.mainScreen().bounds 
    pickerView = UIPickerView(frame: CGRectMake(0,0, screenSize.width, 162)) 
    pickerView.delegate = self 
    pickerView.dataSource = self 

    pickerToolbar.barStyle = UIBarStyle.Default 
    pickerToolbar.translucent = true 
    pickerToolbar.tintColor = UIColor.orangeColor() 
    pickerToolbar.sizeToFit() 

    pickerToolbar.userInteractionEnabled = true 
    pickerView.addSubview(pickerToolbar) 
    self.contentView.insertSubview(pickerView, atIndex: 3) 

    // both these logs show correct output 
    NSLog("picker subviews: %@", pickerView.subviews.description) 
    NSLog("toolbar subviews: %@", pickerToolbar.subviews.description) 

截圖例如: 通過點擊「到」小區,新的小區被插入其具有選擇器。選取器本身工作正常。但取消按鈕不會被觸發。它有一個從Storyboard鏈接到它的IBAction。 單擊任何單元格也會正確關閉/移除pickercell。

enter image description here

回答

0

我做了一個UITextView內的選擇器,我使用

-(BOOL) textFieldShouldReturn:(UITextField *)textField{ 
[textField resignFirstResponder]; 

return NO; 

,然後用

-(void)dismissKeyboard { 
[_date resignFirstResponder]; 
} 

其中_DATE是我的UITextField屬性駁回鍵盤

Dismissing UIPickerView with Done button on UIToolBar

這是一個非常好的帖子,我也發現這個話題!我希望它有幫助。

+0

感謝您的評論,但這不是我所追求的。我不使用選取器作爲輸入訪問視圖或作爲第一響應者。這只是tableviewcell中的一個子視圖,我需要它的uitoolbar的Cancel按鈕被觸發,然後它會隱藏/從視圖中刪除單元格。 –