ios - swift - 我很笨,我的 subview 不会服从并正确调整自身大小

标签 ios iphone swift uiimageview

我觉得这对你们退伍军人来说是一个垒球,但我在调整 UIImageView 的 subview 大小时遇到​​了很多麻烦......这是我得到的:

var myImageView:UIImageView!

var tmpView:UIImageView!

myImageView 是我的“主”UIImageView,我将 tmpView 视为 subview ...现在我已经尝试过启用和不启用自动布局,但我已经设置了 myImageView 的约束。 myImageView 占据整个屏幕。我通过设置 myImageView.image = UIImage... 等确认了这一点。

这是我初始化图像并将其添加到 subview 的代码:

self.tmpView.image = UIImage(named: "myImage.png")
self.tmpView.frame = CGRect(x: 0, y: 0, width: 200, height: 300)
self.imageView2.addSubview(self.tmpView)

现在我遇到了问题 - 无论我将 tmpView 的高度和宽度设置为多少,大小都不会改变。但有趣的是,更改 x,y 确实会对 subview 的位置产生影响。

这是我的问题:1)为什么x和y都很好地服从,但宽度和高度却不然?

2) 如何解决这个问题,最好是通过编程方式还是通过 Storyboard 来解决?

最佳答案

使用自动布局时不应再直接修改框架。向 tmpView 添加宽度和高度约束,如果您使用 IB,则为它们创建导出(导出应具有 NSLayoutContraint 类型)。

您还可以在代码中创建约束,但除非必须这样做,否则没有意义。

在这两种情况下,要调整 tmpView 的大小,请将每个约束的 constant 属性更改为您想要的值。

widthConstraint.constant = yourNewWidth;
heightConstraint.constant = yourNewHeight;

关于ios - swift - 我很笨,我的 subview 不会服从并正确调整自身大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094722/

相关文章:

ios - 我在我的 native 包中找不到index.ios.js和index.android.js,而是存在index.js

iphone - drawRect Circle 在圆圈内用于显示进度

iphone - 将键盘限制为表情符号

swift - Codable NSManagedObject 在 decodeIfPresent 数据类型上失败

ios - 使用 iOS 上的应用程序录制屏幕视频

使用 facebook 的 iOS 登录即使给出参数和权限也不会返回电子邮件

ios - "Authentication Required"与 NSURLSession。用户/ key 正确

iphone - 开发滑动和 View 更改 iPhone 应用程序

ios - 使用 NSFetchedResultsController 的 UITableView 部分出现意外的标题 View

ios - 从值中获取数字的最短方法