2010-01-31 76 views
1

当我得知我必须编写一些代码来使iphone键盘消失。我很惊讶。当它变得吸引人时,我更惊讶它只是冰山的顶峰。需要实施的Iphone默认行为?

系统OOTB未提供的预期UI行为是什么?

下面的列表是否完整?

预期的UI行为:

  • 聚焦时[完成]下一个文本字段命中
  • 隐藏键盘时,背景被击中
  • 使用触摸的内心火一个按钮动作。 (给用户机会改变他/她的想法)
  • 支持屏幕旋转。
+0

如果当前SDK中缺少某些内容,请不要只是在此抱怨。在http://bugreport.apple.com上提交增强请求 – 2010-02-01 13:52:20

+0

@Brad我在这里发布它,以便我可以学习。我对修复sdk不感兴趣。 – 2010-02-02 08:54:04

回答

0

想要一个不是白色的圆角矩形按钮?由于那个人使用背景图片,你不能只是点击某个地方,使它成为你选择的颜色。你必须创建你自己的图像,或者你甚至可以使用CSS(WTF !?)来完成它。

+0

您可以使用CoreGraphics创建具有圆角矩形的图像,或者使用cornerRadius属性使图层具有圆角,或者可以使用蒙版或多种其他方式中的任意一种。但编程很难,让我们去购物! – rpetrich 2010-02-01 00:07:03

+1

是的,忘了提及这一点,我很兴奋地写下关于CSS漏洞的技巧,我错过了Apple开发者的传道。无论如何,它仍然不如在界面生成器中选择颜色选择器那么容易,然后...是的,去购物。 – bpapa 2010-02-01 00:11:26

0

不幸的是,iPhone SDK缺乏很多有用的东西,人们会认为只会有在那里。然而,许多人花时间为许多这类事情编写包装,以帮助促进开发 - 快速的谷歌搜索到你期待的功能可能会产生很多有用的答案!

例如,您可以通过创建新视图并在屏幕上放置该视图到任何用户可交互视图后面,从而在外部敲击键盘时使键盘消失。当这个新视图被点击时,它将成为第一响应者并导致键盘滑开(因为UITextField不再是第一响应者)。

这样的事情可以很容易地实现作为一个插件修复几乎任何东西,你只需要很少的代码。

尽管如此,仍然应该包含在SDK中!

1

其中一些是愚蠢的,但也有一些使用。

聚焦下一个文本字段时,[完成]被击中
哪个字段是“下一个”?如果你有一个很大的表单,并且它们的字段既可以紧挨着又可以在上面/下面,下一个可能不是那么明显。即使它们处于线性布局,iPhone也不得不努力确定下一个是哪一个。你想在表格末尾换行,还是退出键盘,或者提交表单?

隐藏键盘时,背景被击中
我主要是在这里与你同意,但也有少数情况下,这是没有用的。例如,在联系人应用中添加新的电话号码。

使用触摸的内心火一个按钮动作
这一次我真的不明白。我只能猜测,它的目的是让你使用按钮,而不是touchesBegan/Moved/Ended方法。我想这可能是有用的,但我从来没有用过任何东西,只有Touch Up Inside。

支持屏幕旋转
许多应用程序不能在任何其他方向工作,如游戏。如果你想使用旋转,你只需要添加两行代码,假设你已经完成了你的布局。

我希望这有助于解释一些奇怪。除了键盘解雇之外,我从来没有发现任何令人讨厌的事情。我希望他们支持的一件事是将UIButtons的高亮状态用于设置状态。这将是一个快捷方便的切换按钮,但我已经采取了突出显示的按钮的屏幕截图并将其用于所选按钮的背景图像。

+0

我知道如何实现我提到的行为。我询问用户期望的其他行为,而不是由iphone os提供。 – 2010-01-31 18:24:07

+0

我不认为它遇到,但我的文章是更多的解释,为什么这些东西不会自动发生。按钮的切换状态是唯一令我烦恼的事情。在我看来,应该有一些UIButton的默认“开”指标。 – 2010-01-31 18:39:52

+0

在模拟音乐乐器的应用程序中使用按钮中的向下触摸。所以苹果不会强迫你使用触摸按钮。 所有这些选择都是为了给程序员增加灵活性。 – Jay 2010-01-31 20:07:47