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

时间:2017-04-13 04:03:58

标签: ios objective-c uilabel calayer

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

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

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

为了更清晰,你可以在图片中看到我想在运行时制作这个绿色矩形以放下右侧标签

左侧标签不可移动,并且应该始终位于给定图像中的矩形中。到目前为止,我尝试将矩形设为UIView中的viewDidLoad

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;
}

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

1 个答案:

答案 0 :(得分:2)

最后我得到的矩形大小与点击标签的大小相同,我在.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);
    }
}

}