如何将图标/图像放在文本最后一个字母旁边的UITextFIeld中?

时间:2017-12-13 09:13:42

标签: ios objective-c xcode uiimageview uitextfield

我有一个文本字段,其中的值填充了我从服务器获取的字符串。我想在文本字段中设置一个图标,只是为了向用户显示文本字段实际上不是标签,但可以进行编辑。我经历了其他问题,但只找到了在leftViewMode或RightViewMode上设置图标的答案。我怎样才能实现它?

    _titleLabel.delegate = self;
    UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"edit_Canvas_name"]];
    imgView.contentMode = UIViewContentModeScaleAspectFit;
    [_titleLabel setRightViewMode:UITextFieldViewModeAlways];
    [_titleLabel setRightView:imgView];

enter image description here

我希望图像在“触摸 - 绘图”中的g之后。

2 个答案:

答案 0 :(得分:1)

编写一个返回UITextField文本宽度的方法。然后在此之后放置图像。方法将是这样的,

- (float)textWidthOf:(UITextField *)textfield {
    CGSize textSize = [textfield.text sizeWithAttributes:@{NSFontAttributeName : textfield.font}];
    return textSize.width;
}

答案 1 :(得分:-1)

在文本字段中添加按钮并根据该按钮设置框架或约束,这样您就可以在“触摸 - 绘图”中获得“g”旁边的按钮。

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

[btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];

btn.frame = CGRectMake(self.yourTextField.bounds.size.width - 50, 5, 25, 25);

[btn setBackgroundImage:[UIImage imageNamed:@"yourImage.png"] forState:UIControlStateNormal];

[self.yourTextField addSubview:btn];