• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - iOS6中的UITextField背景属性问题

[复制链接]
菜鸟教程小白 发表于 2022-12-13 03:13:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想创建 UITextField,它在普通 View 中看起来像一个标签,在编辑模式下作为具有自定义背景的文本字段。我在 XIB 中添加了一个“无边框样式”UITextField,并设置了名称为 nameTextField 的 socket 。我在编辑模式下为 UITextField 设置了背景,在按钮事件的 View 模式下设置了 nil 背景,但是在 iOS 6.x 中第一次消失后图像没有出现,其他一切都按预期工作。我已经在 iOS 7.x 中进行了测试,它按预期工作。代码是这样的,

- (IBAction)editButtonTappedid)sender
{
    editMode = !editMode;
    if (editMode)
    {
        nameTextField.background = [UIImage imageNamed"textbg.png"];
        nameTextField.enabled = YES;
    }
    else
    {
        nameTextField.background = nil;
        nameTextField.enabled = NO;
    }
}

测试用例:

  1. 点击编辑按钮,启用编辑和显示背景 -> 背景出现和字段 已按预期启用
  2. 再次点击编辑按钮,禁用编辑并隐藏背景 -> 背景按预期消失
  3. 再次点击编辑按钮,启用编辑并显示背景 -> 字段已启用编辑但没有背景。



Best Answer-推荐答案


感谢您的评论。

我认为这是一个 iOS 6.x 的错误;如果 UITextField 的 background 属性在 viewDidAppear 或之后设置为 nil,以后对 background 属性的更改将不会被绘制。

解决此问题的方法是使用空白透明图像而不是 nil。 该图像可以以两种方式之一使用,

1 ) 通过代码设置背景(textbg.png和blank_image.png);那么代码将如下所示,

- (IBAction)editButtonTappedid)sender
{
    editMode = !editMode;
    if (editMode)
    {
        nameTextField.background = [UIImage imageNamed"textbg.png"];
        nameTextField.enabled = YES;
    }
    else
    {
        nameTextField.background = [UIImage imageNamed"blank_image.png"];
        nameTextField.enabled = NO;
    }
}

2 ) 在XIB中设置背景(textbg.png)和禁用背景(blank_image.png);那么代码将如下所示,

- (IBAction)editButtonTappedid)sender
{
    editMode = !editMode;
    if (editMode)
    {
        nameTextField.enabled = YES;
    }
    else
    {
        nameTextField.enabled = NO;
    }
}

关于ios - iOS6中的UITextField背景属性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26797761/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap