2013-03-21 151 views
3

我搜索了一些教程添加UIImage按钮的点击事件。如何URL路径添加添加URL图片按钮点击

图像button..For示例代码:

UIButton *imageView=[[UIButton alloc]initWithFrame:CGRectMake((320*index)+countFlag*80+ 2, 5, 75, 75)]; 
       imageView.tag=i+1; 
       [imageView addTarget:self action:@selector(imageViewClicked:) forControlEvents:UIControlEventTouchUpInside]; 
       [imageView.layer setBorderColor:[UIColor lightGrayColor].CGColor]; 
       [imageView.layer setBorderWidth:1.0f]; 
       switch ((i+1)%5) { 
        case 0: 
         [imageView setImage:[UIImage imageNamed:@"img1.png"] forState:UIControlStateNormal];    

         break; 

        case 1: 
         [imageView setImage:[UIImage imageNamed:@"img2.png"] forState:UIControlStateNormal]; 

         break; 
    } 
+0

你想显示带背景图像的按钮? – Balu 2013-03-21 11:56:14

+0

使用EGOButton作为URL。 – 2013-03-21 11:59:08

回答

2

尝试此乌尔按钮(ImageView的)

[imageView setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"imageurl"]]]forState:UIControlStateNormal]; 
+0

这不起作用。有错误Setimage弃用 – Ram 2013-03-25 06:20:55

+0

其中ios版本r我们使用?,您设置imageview或uibutton图像? – NAZIK 2013-03-25 06:25:55

+0

使用ios 6.1,将图像设置为uibutton。 UIButton * imageView = [[UIButton alloc] initWithFrame:CGRectMake((320 * index)+ countFlag * 80 + 2,5,75,75]]; imageView.tag = i + 1; [imageView addTarget:self action:@selector(imageViewClicked :) forControlEvents:UIControlEventTouchUpInside]; [imageView.layer setBorderColor:[UIColor lightGrayColor] .CGColor]; [imageView.layer setBorderWidth:1.0f]; – Ram 2013-03-25 06:28:46

1
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"url"]; 
[imageView setImage:[UIImage imageWithData:data]]; 
2

用于正常状态,

[imageView setImage:[UIImage imageNamed:@"img1.png"] forState:UIControlStateNormal]; 

和点击(选定)状态,

[imageView setImage:[UIImage imageNamed:@"img2.png"] forState:UIControlStateSelected]; 

希望这会有所帮助。

0

试试这个:

EGOImageButton* btnUserImage = [[EGOImageButton alloc] initWithPlaceholderImage:[UIImage imageNamed:@"ProfilePictureDefault.png"]]; 
    btnUserImage.frame = CGRectMake(10,5,25,25); 
    btnUserImage.highlighted = NO; 
    [self addSubview:btnUserImage]; 

    btnUserImage.imageURL = [NSURL URLWithString:Url]; 
3

其更好地利用这个UIButton+WebCache.hSDWebImage它支持图片的按钮所处的异步加载。您可以使用以下任何方法。

- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state; 
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder; 

它还提供背景图片异步加载的UIButton

- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state; 
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder; 

不要忘记,包括SDWebImage到您的项目和UIButton+WebCache.h文件到您的实现文件。

参考:https://github.com/rs/SDWebImage