Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 将UIImageView添加到UIButton_Objective C_Xcode_Uiimageview_Uibutton_Sdwebimage - Fatal编程技术网

Objective c 将UIImageView添加到UIButton

Objective c 将UIImageView添加到UIButton,objective-c,xcode,uiimageview,uibutton,sdwebimage,Objective C,Xcode,Uiimageview,Uibutton,Sdwebimage,我创建了一个UIScrollView,其中包含几个UIImageView实例。SDWebImage框架用于缓存图像并将其显示在UIImageView实例中。现在我希望能够单击UIImageView的这些实例 之前,我将UIButtons添加到UIScrollView,并将图像添加到此按钮。但我知道我无法将UIImageView添加到按钮。我应该如何解决这个问题?是否可以在该视图上放置UIButton?我该怎么做 我以前使用它来添加可单击的图像(由于SDWebImage框架,我需要更改它,因此我不

我创建了一个UIScrollView,其中包含几个UIImageView实例。SDWebImage框架用于缓存图像并将其显示在UIImageView实例中。现在我希望能够单击UIImageView的这些实例

之前,我将UIButtons添加到UIScrollView,并将图像添加到此按钮。但我知道我无法将UIImageView添加到按钮。我应该如何解决这个问题?是否可以在该视图上放置UIButton?我该怎么做

我以前使用它来添加可单击的图像(由于SDWebImage框架,我需要更改它,因此我不能使用UIImage ImageName:forState)

        CGFloat y = i * self.view.frame.size.height/6; 
        UIButton* aButton = [UIButton buttonWithType:UIButtonTypeCustom];
        [aButton setTag:[[idsCol objectAtIndex: i] intValue]];
        aButton.frame = CGRectMake(0, y, self.view.frame.size.width/3, self.view.frame.size.height/6);

        aButton.imageView.contentMode = UIViewContentModeScaleAspectFit;

        [aButton setImage:[UIImage imageNamed:@"image.jpg" forState:UIControlStateNormal];

        [aButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
        aButton.adjustsImageWhenHighlighted = NO;
        [scrollView addSubview:aButton];
我当前需要使以下imageview可单击:

[testImageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
               placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

我不熟悉
SDWebImage
,但如果此框架允许您直接修改按钮imageView属性,您最好:

[myButton.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
或者,如果您想继续使用图像视图,可以通过添加简单的点击手势使其“可点击”:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myMethod:)];
[tap setNumberOfTapsRequired:1];
[tap setNumberOfTouchesRequired:1];
[testImageView setUserInteractionEnabled:YES];
[testImageView addGestureRecognizer:tap];




- (void)myMethod:(UIGestureRecognizer *)sender
{
    NSLog(@"%u",sender.view.tag);
}

我不熟悉
SDWebImage
,但如果此框架允许您直接修改按钮imageView属性,您最好:

[myButton.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
或者,如果您想继续使用图像视图,可以通过添加简单的点击手势使其“可点击”:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myMethod:)];
[tap setNumberOfTapsRequired:1];
[tap setNumberOfTouchesRequired:1];
[testImageView setUserInteractionEnabled:YES];
[testImageView addGestureRecognizer:tap];




- (void)myMethod:(UIGestureRecognizer *)sender
{
    NSLog(@"%u",sender.view.tag);
}

感谢您的建议!我首先尝试按照建议修改imageView属性。不幸的是,这不起作用!我尝试了第二个并创建了一个点击识别器(使用上面的代码)。imageView确实处理点击,但操作被发送到选择器按钮clicked:。此操作用于查看已单击按钮的标记。(我曾经设置[buttonName setTag:tagId])但我无法将标记添加到手势识别器。知道我能做什么吗?@AlexvanRijs查看我对帖子所做的更改。请原谅我在iPad上写的任何轻微错误。谢谢你的建议!我第一次尝试按照建议修改imageView属性。不幸的是,这不起作用!我尝试了第二次,并创建了一个点击识别r(使用上面的代码)。imageview确实处理点击,但该操作被发送到选择器按钮clicked:。此操作用于查看单击按钮的标记。(我用于设置[buttonName setTag:tagId])但是我不能在手势识别器中添加标签。知道我能做什么吗?@AlexvanRijs看到我对帖子所做的更改。请原谅我犯的任何小错误,我是从iPad上写的。SDWebImage还有一个UIButtons类别-我只是用它来代替。SDWebImage也有一个UIButtons类别-我只是用它来代替。