ios – 如何在运行时制作一个矩形以适应其中目标c的拖动标签

我正在iOS中创建一个单词匹配应用程序,其中我有两个单词的字符串,我想从两个随机单词标签中创建一个完整的单词,所以一切都很好.

现在我想在运行时创建一个矩形作为可拖动标签的目标,当我点击标签拖动它时,矩形应该变得高亮,其大小与单词标签的大小相同.

我如何在Objective-C中实现这一目标?

为了更清晰,您可以在图像中看到我想在运行时创建这个绿色矩形以放下右侧标签

左侧标签不可移动,并且应该总是在给定图像中看到的矩形中.到目前为止,我尝试将该矩形设为viewDidLoad中的UIView为

for(int i = 0; i <5;i++){
customView = [[UIView alloc]initWithFrame:CGRectMake(10,y,50, 30)];
    customView.backgroundColor = [UIColor greenColor];
[gameLayer addSubview:customView];
    y = y+40;
}

但这不是我真正想要的.任何帮助赞赏…

最佳答案 最后我得到了与这里的tapped标签大小相同的矩形大小,我在.h文件中创建一个数组,其中包含我的目标矩形的引用NSMutableArray * rectangleLabels

之后,我使用循环手势方法中的循环使矩形的大小与我的可拖动标签的大小相同,并且它工作正常…

-(void)gotTapped:(Id)sender {
for (UIView *v in rectangleLabels) {
    v.hidden = !v.hidden;
    UILabel *tapLbl = (UILabel *)[sender view];
    CGRect rect = tapLbl.frame;
    for(int i=0;i<rectangleLabels.count;i++) {
        UILabel *lblChange = (UILabel *)[rectangleLabels objectAtIndex:i];
        lblChange.frame = CGRectMake(lblChange.frame.origin.x, lblChange.frame.origin.y, rect.size.width, rect.size.height);
    }
}

}

点赞