我处理了一些开源代码,目前正在转换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
替换为文本。
如果有人能指出我们正确的方向,我们将不胜感激。