【问题标题】:easy way to highlight ios text box when it has focus?当它有焦点时突出显示ios文本框的简单方法?
【发布时间】:2012-10-31 00:16:40
【问题描述】:

我们的 iOS6 应用程序数据输入量大且字体较小,我们希望让用户更容易在屏幕上的许多字段中找到当前关注的字段。

首先,我注意到 iOS 在默认情况下不会做任何事情来吸引用户的注意力到焦点文本字段,这与许多其他平台和应用程序不同。这是因为文本字段应该显示焦点突出显示是明确的设计指南还是隐含的应用商店要求?我不想因为这件小事而将我们的应用程序从应用程序商店中弹出。 ;-)

假设允许突出显示焦点,有没有一种简单的方法可以在文本框获得焦点时在文本框内部或外部显示“发光”,就像我可以使用 box-shadow 在 Web 应用程序上使用 CSS 一样,如 @987654321 @。

最后,您知道哪些 iOS 应用已经完成了我们正在尝试做的事情吗?

【问题讨论】:

    标签: ios textbox uitextfield ios6


    【解决方案1】:

    我不认为这样做是被禁止的。尽管我认为 Apple 会建议是否有必要标记选定的文本字段,但您应该考虑将视图拆分为多个屏幕。单个屏幕不应该太杂乱。

    但是,如果在您的情况下这是不可能的或不想要的,实现“发光效果”的最简单方法是这样(根据需要修改值):

    #import <QuartzCore/QuartzCore.h>
    
    textField.layer.masksToBounds = NO;
    textField.layer.shadowColor = [[UIColor blueColor] CGColor];
    textField.layer.shadowOffset = CGSizeZero;
    textField.layer.shadowRadius = 10.0f;
    textField.layer.shadowOpacity = 1.0;
    

    (不要忘记将 Quarz 框架添加到您的项目中)

    看起来像这样:

    【讨论】:

    • 很好的回应,正是我想要的。如果我们想把发光放在里面而不是外面,这也很简单吗?
    • 不,那会更复杂。 UITextField 是由许多不同的视图构建的。在我的脑海中,我会尝试向它添加另一个子视图 - 可能比文本字段小一点 - 将其背景颜色设置为清除,将 userInteractionEnabled 设置为 NO 并如上所述添加阴影。但我没有尝试过,所以不能保证它不会弄乱文本字段;)
    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2012-06-23
    • 1970-01-01
    • 2017-04-04
    • 2016-04-07
    相关资源
    最近更新 更多