我一直在尝试将rect按钮的背景图像设置为我在Web服务器上的.png文件。我已经在视图控制器.h中声明了该按钮,并将其添加到.m viewdidload:
下[mybutton setImage: [UIImage imageNamed: @"http://www.myserver.com/index_files/stacks_image_14.png"] forState: UIControlStateHighlighted];
但按钮中没有显示任何内容。我一直在阅读NSSURL,看看在我尝试将它们分配给对象之前调用图像,但我现在有点卡住了。
感谢您的帮助!
编辑:新代码我试过了:
NSURL *myurl2 = [NSURL URLWithString:@"http://www.myserver.com/bigoaks.png"];
NSURLRequest *request2 = [NSURLRequest requestWithURL:myurl2
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:10.0];
NSURLConnection *connection2= [[NSURLConnection alloc] initWithRequest:request2
delegate:self];
NSString *mystring2 = [NSString stringWithContentsOfURL:myurl2 encoding:NSUTF8StringEncoding error:&error];
[mybutton setImage : mystring2];
仍然似乎得到“UIButton没有可见的@interface声明选择器'setImage:'
再次感谢所有人的帮助!
编辑2:
知道了!感谢所有帮助人员 - 这是帮助其他人的最终代码:
NSURL *myurl2 = [NSURL URLWithString:@"http://www.myserver.com/bigoaks.png"];
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:myurl2]];
[mybutton setImage:image forState:UIControlStateNormal];
使用本教程:http://mobiledevelopertips.com/cocoa/download-and-create-an-image-from-a-url.html
答案 0 :(得分:0)
NSURL *url = [NSURL URLWithString:@"http://www.myserver.com/image.png"];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
[mybutton setImage:image];
希望这就是你要找的东西:)
答案 1 :(得分:0)
imageNamed用于使用捆绑包中包含的图像。另一个答案是正确的,虽然如果存在连接问题或一般延迟,该代码将冻结您的UI,因为它不是异步的。相反,我建议使用NSURLRequest和NSURLConnection以异步方式下载图像,并将按钮设置为在完成委托功能(connectionDidFinishLoading)中使用它。
答案 2 :(得分:0)
试试这个
[mybutton setBackgroundImage:[UIImage imageNamed:@“http://www.myserver.com/index_files/stacks_image_14.png”] forState:UIControlStateNormal];