我正在研究一些开源代码,目前正在转换 DTMF 音调,然后将它们显示为UIImageview
. 但是,我们确实需要一种方法来改变这一点,因此每个 ImageView 的内容都被替换UILabel
为生成的输出是字符串而不是图像。我希望这是有道理的:
这是负责此任务的原始代码:
- (void)setLCDString:(char*)content {
if (strlen(content) > LCD_COLS) {
content = content + (strlen(content)-LCD_COLS);
}
//NSLog(@"LCDString %d len",strlen(content));
UIImageView *disp[LCD_COLS] = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o};
for (int in = 0; in < LCD_COLS; in++) {
//Here we start at 0, and if our INT is less than 24 (6x4) then we increase INT by 1.
[disp[in] setImage:[self charToImage:*content]];
//Here we set UIImageVIew to our INT, and convert Character to images.
if (*content) content++;
}
}
- (UIImage *)charToImage:(char) chr
{
if (isdigit(chr) || (chr == 'A') || (chr == 'B') || (chr == 'C') || (chr == 'D')
|| (chr == '*') || (chr == '#')) {
char name[10];
snprintf(name,10,"%c.png",chr);;
UIImage *img = [UIImage imageNamed:[NSString stringWithCString:name encoding:NSASCIIStringEncoding]];
return img;
}
return nil;
}
在这里您可以看到,解码正在将字符串转换为单个图像中的图像UIImageView
,但我们需要将其替换为UILabel
文本。
如果有人能指出我们正确的方向,将不胜感激。