在 UIImageView 的右上角添加 UIButton

Posted

技术标签:

【中文标题】在 UIImageView 的右上角添加 UIButton【英文标题】:Adding UIButton on the top right edge of the UIImageView 【发布时间】:2015-09-23 14:43:29 【问题描述】:

我正在尝试以编程方式在 UIImageView 的右上角创建一个 UIButton,到目前为止,我有一个 UIImageView,并且我想在图像加载到图像视图时在 UIImageView 的右上角创建一个 UIButton。我不知道我怎么能做到这一点。

  UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
                        [button setTitle:@"X" forState:UIControlStateNormal];
                        [button sizeToFit];
                        button.center = CGPointMake(self.img1.frame.origin.x+self.img1.frame.size.width,self.img1.bounds.origin.y);

[self.img1 addsubView : 按钮];

这里,img1 是一个图像视图。我想在 img1 的右上角添加那个按钮。

我怎样才能做到这一点?

【问题讨论】:

您的代码有什么问题? 不确定@Mr.T.它没有添加到 ImageView 的右上角,这就是我想要实现的。 查看调试视图层次结构以查看按钮的确切位置 【参考方案1】:
[self.img1 addSubView:button];
[button setFrame:CGRectMake(self.img1.size.width-button.frame.size.width,0,button.frame.size.width, button.frame.size.height)];

【讨论】:

感谢@Idrees Ashraf。我不确定为什么它不起作用。我可能遗漏了一些我无法弄清楚的东西。一旦我弄清楚我会接受你的回答。【参考方案2】:

您也可以为此使用自动布局。

NSMutableArray * constraints = [NSMutableArray array]; 
[constraints addObject:[NSLayoutConstraint constraintWithItem:self.contentView 
     attribute:NSLayoutAttributeTopMargin 
     relatedBy:NSLayoutRelationEqual 
     toItem:separatorView
     attribute:NSLayoutAttributeY
     multiplier:1.0
     constant:0]];
[constraints addObject:[NSLayoutConstraint constraintWithItem:self.contentView 
     attribute:NSLayoutAttributeRightMargin 
     relatedBy:NSLayoutRelationEqual 
     toItem:separatorView
     attribute:NSLayoutAttributeRight
     multiplier:1.0
     constant:0]];
[button addConstraints:constraints];
[self.img1 addsubView : button];

【讨论】:

【参考方案3】:
UIImageView *img1 = [[UIImageView alloc] initWithFrame:CGRectMake(imageX,imageY,imageWidth,imageHeight)];

float buttonWidth = 30;

UIButton *button =[ [UIButton alloc] initWithFrame:CGRectMake(img1.frame.size.width - buttonWidth,0, buttonWidth,buttonHeight)];

[self.view addSubView:img1];

[img1 addSubView:button];

【讨论】:

以上是关于在 UIImageView 的右上角添加 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将 UIButton 添加到 UITableView 错误点

动画 UIImageView 从圆角右上角开始并以矩形结束

将大 UIImage 比例下载到 UIImageView

如何在自定义 UITableViewCell 中创建 UIImageVIew? (迅速)

如何将 UIImageView 放置在子视图的特定区域中

使用缩放在 UITableViewCell 中缩放 UIImageView