2

是否可以显示带有文本的图像?我知道 UITextField 或 UITextView 不支持字符串以外的任何内容。

但我一直在使用属性标签,它支持几乎所有类似的功能,比如在 HTML 上显示文本。这可以通过将字符串转换为 HTML 并在 UIWebview 上显示来轻松实现。但我不想使用UIWebView

所以问题是这是否可以在文本之间显示图像?

EG: 在文本之间显示自定义笑脸(图像)。

PS我已经看到下面提到的问题

iPhone 文本和图像显示

是否可以在 iphone 的文本视图之间添加图像

4

3 回答 3

2

请将图片设置为 textField rightView

UITextField *textField = [[UITextField alloc] init];
[textField setRightViewMode:UITextFieldViewModeAlways];
textField.rightView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"asdsad.png"]];

对于中心图像,您需要创建自定义 UITextField 类,而不是仅可能在此处输入图像描述

这里的步骤: -

  1. 在 Xcode 中,Project->New File->User Interface->Empty View->Create(CustomUITextField)

  2. 在 Empty View->Take UITextField 进入空视图。

  3. 在 Xcode 中,Project->New File->Cocoa Touch->Next->select Subclass of UITextField->Give name (CustomTextField)->Next

  4. 2 文件将创建 .h 和 .m

  5. .h 看起来像这样

进口<UIKit/UIKit.h>

@interface CustomUITextField : UITextField{

}
@property(nonatomic, retain) UIImage *centerImage;

@end
  1. .m 看起来像文件那样

    #import "CustomUITextField.h"

    @implementation CustomUITextField
    
    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            // Initialization code
        }
        return self;
    }
    
    
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    - (void)drawRect:(CGRect)rect
    {
        [self superclass];
        // Drawing code
        UIImageView *circle;
        circle = [[UIImageView alloc] initWithFrame:CGRectMake(80, 5, 20, 20)];
        circle.image = [UIImage imageNamed:@"Default.png"];
        [self addSubview:circle];
    
    }
    
    
    @end
    
于 2013-10-18T06:15:46.623 回答
0

UITextField 中有两个属性可用于放置图像。

右视图

显示在文本字段右侧的叠加视图。
@property(nonatomic, 保留) UIView *rightView

左视图

显示在文本字段左侧的叠加视图。
@property(nonatomic, 保留) UIView *leftView

参考:官方来源

于 2013-10-18T05:52:44.847 回答
0
UIImage *image = [UIImage imageNamed:@"10.png"];

// From image to data
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];

NSString *imageString = [[NSString alloc] initWithData:imageData encoding:NSASCIIStringEncoding];
NSLog(@"imageString:%@",imageString);

这会帮助你..快乐编码

于 2014-09-03T07:25:44.637 回答