【问题标题】:How do they make text boxes stick to each other? [duplicate]它们如何使文本框相互粘连? [复制]
【发布时间】:2013-08-31 21:03:58
【问题描述】:

在应用程序中,向用户提供用户名和密码框似乎是一种普遍趋势,这些框在圆角框中显示为两行。他们是怎么做到的?自定义绘图?似乎太多的应用程序和太接近的外观和感觉自定义绘图但是......

【问题讨论】:

  • “他们”没有。您可以使用背景图像放置在两个单独的UITextFields 后面,也可以使用UITableViewUITableViewStyleGrouped
  • @Fogmeister 所以这是一个有两个可编辑行的表格?
  • 魔术。它总是很神奇。
  • 你可以使用任何一个。我发现的最简单的方法是使用带有背景图像的 UIImageView,然后将两个单独的 UITextField 放在正确的位置。这使得操作和定制变得更加容易。
  • @Fogmeister 对于图像,必须处理调整大小和视网膜,这使得它有点混乱。

标签: ios user-interface


【解决方案1】:

开发人员使用了一个分组的 UITableView。这是以前的问题,有answer...。希望这会有所帮助!

【讨论】:

  • 啊!这是正确的。我的问题是那个问题。
  • 是的,我也用过这个方法。自定义比较麻烦,但效果也很好:)
  • 您可能不希望您的登录屏幕成为表格视图(因为登录表单不是表格数据)。我想亚马逊从外观上看不是表格视图。
  • @Fogmeister 我遵循了提供的示例。我正在努力解决的一件事是字体大小。我不能让它变大或变小。我可以更改单元格高度和文本框高度,但字体保持不变。为什么 textField.font = [UIFont fontWith...] 被忽略?我正在使用附件视图方法。
  • 您能否在您的问题中添加一些代码(即 cellForRowAtIndexPath)。我去看看。
【解决方案2】:

在这种情况下,最好的方法是使用两个没有边框样式的文本字段。 在两个文本字段后面,您有一个 UIImageView,其中包含文本框的自定义图像。 这使您可以对文本框进行任何类型的设计

我使用的登录框示例:

只需覆盖您的文本字段,为浅灰色文本设置占位符,您就可以开始了

更新: 前一种方法假定您的设计阶段先于开发阶段,因此您只需设计一次资产,就可以开始了。 如果您正在寻找一种调整大小的方法,您可以为外部边框定义一个可拉伸的图像,例如:

UIEdgeInsets insets = UIEdgeInsetsMake(10,10,10,10);
image = [image resizableImageWithCapInsets:insets];

然后,您所要做的就是真正画出角落,其余的则延伸。然后,您可能必须单独为中间分隔符添加一行。 不像为盒子定义的一个资产那样干净,但更容易进行实验。

【讨论】:

  • 这是我推荐的。更易于管理和定制。
  • 正如我上面评论的那样,图像必须处理大小调整和视网膜,这使得它有点混乱。
  • 凌乱?!处理视网膜?!嗯...整合资产和处理视网膜几乎是iOS开发人员的日常工作:-)如果你想要自定义外观,你将不得不处理图像,如果你处理图像,你将不得不处理视网膜,那里没有什么乱七八糟的。不确定你更愿意做什么,如果你对图像过敏,你可以编码绘图,但我看不出这是一个“更好”的解决方案
  • @JPHribovsek 这里没有争论 - 2 张图片,一切顺利。一个问题是在早期阶段,当很多事情都在变化时,需要时间来不断调整每张像这样的图像的大小,并分成两份来回。
  • 不,没有争论。如果您正在调整大小,对于这种对称的图像,您想要做的是将您的图像定义为带有帽子插图的可拉伸图像。这样,您可以根据需要调整事物的大小,而无需重新设计任何东西。
猜你喜欢
  • 1970-01-01
  • 2011-07-22
  • 2019-03-06
  • 2017-06-08
  • 1970-01-01
  • 2016-02-08
  • 2014-04-20
  • 1970-01-01
  • 2013-01-10
相关资源
最近更新 更多