【发布时间】:2016-06-16 07:15:49
【问题描述】:
我以编程方式创建 UIIimageView,而不是创建 UIView,在 uiview 中,我以编程方式添加了两个 uibutton,但按钮选择器方法不起作用。我尝试了很多东西,但什么也没发生。这是我的代码
-(void) pagingFunc{
CGRect screen = [[UIScreen mainScreen] bounds];
CGFloat width = CGRectGetWidth(screen);
CGFloat height = CGRectGetHeight(screen);
//ScrollView Size and Contents
CGSize mxSize = CGSizeMake( [imgesArry count]*width , height-114);
[scrlView setContentSize : mxSize];
self.customView.translatesAutoresizingMaskIntoConstraints =YES;
self.customView.frame = CGRectMake(0, 0, mxSize.width, mxSize.height);
int incX = 0 ;
for( int i = 0; i < [imgesArry count]; i++)
{
PFObject *imageObject = [imgesArry objectAtIndex:i];
PFFile *file;
if (height == 480) {
file = [imageObject objectForKey:@"image4s"];
}
else{
file = [imageObject objectForKey:@"image6s"];
}
NSString * imgFile = [file url];
UIImageView* imagView = [[UIImageView alloc]initWithFrame : CGRectMake(incX,0,width ,height)];
imgView.userInteractionEnabled = YES;
[imagView sd_setImageWithURL:[NSURL URLWithString:imgFile] placeholderImage:[UIImage imageNamed:@"UserUpdationImageCell.png"]];
btnView = [[UIView alloc] initWithFrame:CGRectMake(incX, imagView.frame.size.height-60, width, 50)];
btnView.backgroundColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.8];
UIButton *bckBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[bckBtn addTarget:self
action:@selector(aMethod)
forControlEvents:UIControlEventTouchUpInside];
[bckBtn setTitle:@"Back" forState:UIControlStateNormal];
bckBtn.frame = CGRectMake(0 ,0, 160.0, 40.0);
UIButton *downloadBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[downloadBtn addTarget:self
action:@selector(aMethod)
forControlEvents:UIControlEventTouchUpInside];
[downloadBtn setTitle:@"Download" forState:UIControlStateNormal];
downloadBtn.frame = CGRectMake(160 ,0, 160.0, 40.0);
[btnView addSubview:bckBtn];
[btnView addSubview:downloadBtn];
[self.customView addSubview:imagView];
[self.customView addSubview:btnView];
incX+= width;
}
[scrlView setContentOffset:CGPointMake(width*selectedIndex, 0)];
}
【问题讨论】:
-
我也面临同样的问题,这是因为,UIButton 不知何故失去了它的目标。使用 UIButton+Block 类别,这对我有帮助。这是链接gist.github.com/joshdholtz/2468899
-
设置
btnView.userInteractionEnabled=YES; -
现在尝试链接@Mahesh
-
我之前尝试过,但“启用用户交互”不起作用@Paulw11
-
还有
self.customView? - 需要在所有超级视图上启用用户交互
标签: ios objective-c uiview uiimageview uibutton