无法设置UIImageView
问题描述:
我有一个类来解析Web服务调用的结果。根据该结果,它调用另一个类中的方法,该方法应该更改UIImageView中的图像。但它不会树立形象,我不知道为什么。无法设置UIImageView
头等舱相关零件。 '服务器'值确实回来了'rb'。
#import "GetBBYprod.h"
#import "MyViewController.h"
static NSString *kAblue = @"A_blue.png";
static NSString *kBblue = @"B_blue.png";
static NSString *kCblue = @"C_blue.png";
@implementation GetBBYprod
@synthesize vc;
-(id)init {
if (self = [super init]) {
vc = [[MyViewController alloc] init];
}
return self;
}
-(void)connectionDidFinishLoading:(NSURLConnection *)conn {
NSString *bbyProdString = [[NSString alloc] initWithData:bbyProdData encoding:NSUTF8StringEncoding];
NSString *server = [bbyProdString substringToIndex:2];
if ([server isEqualToString:@"rb"]) {
[vc setAlight:kBblue];
}
}
因此,发送kBblue到MyViewController类中的方法setAlight。 (kBblue的值是“B_blue.png”
所以在我的MyViewController类,setAlight方法:
-(id)init {
if (self = [super init]) {
aImage = [[UIImageView alloc] init];
bImage = [[UIImageView alloc] init];
cImage = [[UIImageView alloc] init];
}
return self;
}
-(void)setAlight:(NSString *)aValue {
NSLog(@"image name: %@", aValue);
[aImage setImage:[UIImage imageNamed:aValue]];
}
这将成功登录“形象的名字:B_blue.png”所以我知道的数据是传递和方法被调用,但它不会将图像中的aImage UIImageView的。为什么呢?
编辑
- 我使用的是厦门国际银行和T他为imageView分配了一个默认图像。
- 我所有的连接都连接在xib中,它们都看起来正确。
- 我传递的字符串中没有空格。
- 我可以判断图像没有被设置,因为当它设置正确时,它对我来说非常明显。
答
如果您要在xib中创建UImageViews
,那么在init
中不要初始化它们。该框架将为您创建它们。只要确保您的UIImageViews
已连接到.h文件中的正确IBOutlets
。
+0
好点但仍未解决问题。不过谢谢。 – Selch
你确定在aValue的末尾没有空格吗?一个简单的测试就是做'''NSLog(@“image name:[%@]”,aValue);'''看看它是否真的在最后一个文件名字符之后。 – Remear
你如何确认图像没有被设置? –
也许是一个线程的东西?你只能从主线程中做UI事情。也许尝试[self performSelectorOnMainThread:@selector(setAlight :) withObject:kBblue waitUntilDone:NO]; –