如何在UIImageView的左上angular和右下angular创buildUIButton

我希望在imageview的左上angular和右下angular创build删除button。 但它看起来不像我所需要的。

在这里输入图像说明

我希望这两个button应该放在红色边框的angular落

要创buildbutton我使用下面的代码

UIImageView * tappedView = (UIImageView *)[recognizer view]; [tappedView.layer setBorderColor: [[UIColor redColor] CGColor]]; [tappedView.layer setBorderWidth: 2.0]; tappedView.layer.cornerRadius = 10; tappedView.layer.masksToBounds = NO; UIButton *deleteBtn = [UIButton buttonWithType:UIButtonTypeCustom]; deleteBtn.frame = CGRectMake(0, 0, 20, 20); [deleteBtn setImage:[UIImage imageNamed:@"close.png"]forState:UIControlStateNormal]; deleteBtn.layer.shadowColor = [[UIColor blackColor] CGColor]; deleteBtn.layer.shadowOffset = CGSizeMake(0,4); deleteBtn.layer.shadowOpacity = 0.3; [tappedView addSubview:deleteBtn]; [deleteBtn addTarget:self action:@selector(deleteProperties:) forControlEvents:UIControlEventTouchUpInside]; UIButton *zoomBtn = [UIButton buttonWithType:UIButtonTypeCustom]; zoomBtn.frame = CGRectMake(tappedView.frame.size.width, tappedView.frame.size.height, 20, 20); [zoomBtn setImage:[UIImage imageNamed:@"close.png"]forState:UIControlStateNormal]; zoomBtn.layer.shadowColor = [[UIColor blackColor] CGColor]; zoomBtn.layer.shadowOffset = CGSizeMake(0,4); zoomBtn.layer.shadowOpacity = 0.3; [tappedView addSubview:zoomBtn]; [zoomBtn addTarget:self action:@selector(ZoomIn:) forControlEvents:UIControlEventTouchUpInside]; 

请指导我。

我想要这样 在这里输入图像说明

只是玩弄button的框架:例如

 deleteBtn.frame = CGRectMake(-5, -5, 20, 20); 

 zoomBtn.frame = CGRectMake(tappedView.frame.size.width - 20, tappedView.frame.size.height - 20, 20, 20); 

因为前两个数字是坐标x和y,并且该框架相对于包含视图框架。

只需使用zoomBtn.center而不是zoomBtn.frame – 这样,您就不必考虑button的大小 – 它适用于任何大小的button。

 // Create the button's frame - doesn't matter the x & y CGRect btnFrame = CGRectMake(0.0f, 0.0f, 20.0f, 20.0f); zoomBtn.frame = btnFrame; // Set the zoomBtn center to the bottom right corner zoomBtn.center = CGPointMake(tappedView.frame.size.width, tappedView.frame.size.height); deleteBtn.frame = btnFrame; // Set the deleteBtn center to the top left corner deleteBtn.center = CGPointMake(0.0f, 0.0f);