更改UITextfield时禁用键盘

时间:2017-08-19 01:22:48

标签: ios swift uitextfield

在发布此问题之前,我已经检查了每个可能的线程,但找不到一个好的解决方案。

我的视图中有5个文本字段,当选择前2个键盘应该出现时,当选择最后3个时,我的PickerView应该出现。一切正常,因为我使用标签来识别我的文本字段,在“textFieldShouldBeginEditing”中,我为我的最后3个文本字段返回了False。

但是,如果我选择文本字段2然后移动到文本字段3,键盘将显示在选择器视图上。 我尝试过使用textFieldDidEndEditing但它没有用。

有没有其他方法可以解决这个问题?

我在每个文本字段上使用addTarget来调用此函数

func openDatesPicker() {

    ActionSheetStringPicker.show(withTitle: "Appointment Date", rows: datesArray , initialSelection: selectedDateIndex , doneBlock: {
        picker, value, index in
        self.selectedDateIndex = value
        if let selected = index as? String{
            self.dateTF.text = selected
            let timeIndex = self.findEarliestTime(date: self.dateTF.text!)
            self.timeTF.text = timeIndex

        }

        return
    }, cancel: { ActionStringCancelBlock in return }, origin: self.view)

}

2 个答案:

答案 0 :(得分:2)

请在openDatesPicker方法的开头添加此语句

defmodule KerriganApiWeb.Router do
  use KerriganApiWeb, :router

  pipeline :browser do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
    plug :put_secure_browser_headers
  end

  pipeline :api do
    plug :accepts, ["json"]
  end

  scope "/", KerriganApiWeb do
    pipe_through :browser # Use the default browser stack

    get "/", PageController, :index
    resources "/hotsdata_user", UserController, except: [:new, :edit]
    resources "/battletag_toonhandle_lookup", PlayerController, except: [:new, :edit]
  end

  forward "/graph", Absinthe.Plug, schema: KerriganApi.Schema
  forward "/graphiql", Absinthe.Plug.GraphiQL, schema: KerriganApi.Schema, interface: :advanced

end

根据文件:

  

此方法查看当前视图及其子视图层次结构   当前第一个响应者的文本字段。如果找到一个,   它要求文本字段作为第一响应者辞职。如果力量   参数设置为true,文本字段永远不会被询问;它是   被迫辞职。

答案 1 :(得分:0)

只需将最后3个textfields inputView设置为pickerView。不需要返回False或为最后3个textfields做不同的代码。它会正常工作。

A=len(df1)+len(df2)
df1.index=(list(range(0, A,4)))
df2.index=list(set(range(0, A))-set(range(0, A,4)))
df=pd.concat([df1,df2],axis=0).sort_index()


df
Out[147]: 
   A  B  C
0  1  3  s
1  1  3  q
2  2  2  q
3  3  6  q
4  2  2  s
5  4  7  q
6  5  8  q
7  3  8  q
8  3  8  s