我有一个视图,我在网格视图中显示图像和图像名称。如图所示。
现在同样我将一个UIButton与图像作为背景和UILabel并将其相应地定位在屏幕上。现在,当我按下UIButton时,它会显示UIActionSheet,其中包含删除,查看和取消选项。现在问题来了。当我只删除一条记录的删除时,该记录将被删除,但如果有更多的记录,则会在删除时显示已删除的记录。
添加UIButton和UILabel:
-(void)showImageFrame
{
int FrameWidth = 190;
int Frameheight = 196;
int FrameX;
int FrameY;
int lblWidth = 190;
int lblHeight = 40;
int lblX,lblY;
settButton = [UIButton buttonWithType:UIButtonTypeCustom];
[settButton setImage:[UIImage imageNamed:@"Picture frame.png"] forState:UIControlStateNormal];
[settButton addTarget:self action:@selector(pressSelectedImage:) forControlEvents:UIControlEventTouchDown];
btnInnerImg = [UIButton buttonWithType:UIButtonTypeCustom];
[btnInnerImg addTarget:self action:@selector(pressSelectedImage:) forControlEvents:UIControlEventTouchDown];
lblImgName = [[UILabel alloc]init];
lblImgName.font = [UIFont boldSystemFontOfSize:30];
lblImgName.textAlignment = UITextAlignmentCenter;
lblImgName.textColor = [UIColor whiteColor];
lblImgName.backgroundColor = [UIColor clearColor];
for(int i = 0;i<cnt1;i++)
{
[settButton setTag:i];
img = [[appDelegate.DataArray objectAtIndex:i]valueForKey:@"ProfileImage"];
[btnInnerImg setImage:img forState:UIControlStateNormal];
[btnInnerImg setTag:i];
lblImgName.text = [[appDelegate.DataArray objectAtIndex:i]valueForKey:@"strNameImg"];
[lblImgName setTag:i];
if(i==0)
{
FrameX = 35;FrameY = 119;btnX = 49;btnY=134;lblX = 35;lblY=337;
}
if(i==1)
{
FrameX = 289;FrameY = 119;btnX = 303;btnY=134;lblX = 289;lblY=337;
}
if(i==2)
{
FrameX = 545;FrameY = 119;lblX = 545;lblY=337;btnX = 558;btnY=134;
}
if(i==3)
{
FrameX = 802;FrameY = 119;lblX = 802;lblY=337;btnX = 816;btnY=134;
}
if(i==4)
{
FrameX = 35;FrameY = 411;lblX = 35;lblY=629;btnX = 49;btnY=426;
}
if(i==5)
{
FrameX = 289;FrameY = 411;lblX = 289;lblY=629;btnX = 303;btnY=426;
}
if(i==6)
{
FrameX = 545;FrameY = 411;lblX = 545;lblY=629;btnX = 558;btnY=426;
}
if(i==7)
{
FrameX = 802;FrameY = 411;lblX = 802;lblY=629;btnX = 816;btnY=426;
}
[settButton setFrame:CGRectMake(FrameX,FrameY,FrameWidth,Frameheight)];
[lblImgName setFrame:CGRectMake(lblX,lblY,lblWidth,lblHeight)];
[btnInnerImg setFrame:CGRectMake(btnX,btnY,btnWidth,btnHeight)];
[newButtonArray addObject:settButton];
[self.view addSubview: settButton];
[self.view addSubview: lblImgName];
[self.view addSubview: btnInnerImg];
}
}
删除UIButton和UILabel:
-(void)removeImageFrame
{
[settButton removeFromSuperview];
[btnInnerImg removeFromSuperview];
[lblImgName removeFromSuperview];
settButton = nil;
btnInnerImg = nil;
lblImgName = nil;
}
我不想将UITableviewCell用于网格视图。我正在做的是删除1条记录,我删除所有记录并按照记录计数器重新加载它们。我知道我在removeImageFrame
方法中做了一些错误,但无法找到相同的错误。希望有人可以帮我删除带有不同标签的单个UIButton。谢谢。
答案 0 :(得分:1)
很高兴看到更多的上下文(操作方法以及按下按钮删除按钮的方式),但这里有一些建议:
sender
的用途。