在发布此问题之前,我已经检查了每个可能的线程,但找不到一个好的解决方案。
我的视图中有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)
}
答案 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