我在IntroPages
(UIViewController
)内部有一个UIPageViewController(让我们称之为IntroView
)占据了大约一半的屏幕。我有四个页面可以在IntroPages
内滚动,让我们称之为A
,B
,C
和D
。所有A
,B
,C
和D
都是作为单独的UIViewControllers
实现的,并带有自己的笔尖。 A
,B
和C
是静态的,而D
上有一个表单(想象三个卖页,然后是一个表单,比方说,注册)。用户可以轻松浏览A
,B
,C
并触及D
,但当用户点击D
上的文字字段时(我们可以调用它{{} 1}}),firstName
完全从D
消失,IntroPages
开始显示IntroPages
,没有任何例外或任何内容。此时,用户可以再次从C
滑动到C
,这次约D
表现得很好。
其他信息:
D
的代表是firstName
。D
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
返回NO,即使是第一次也不会消失,但键盘不会出现,我需要键盘才会出现。D
(包含IntroView
的{{1}})作为UIViewController
的委托,但这也不起作用,即提出同样的问题。 我的第一个想法是UIPageViewController
以某种方式被释放但事实并非如此。我为firstName
创建了一个D
函数并在那里设置了一个断点,但是在调用-dealloc
之前D很好地消失了。实际上,只有当用户第二次从D
滑动到-dealloc
时才会调用-dealloc
。这告诉我C
在向D提供第二个D实例时解除分配D的第一个实例。