ios - 如何以编程方式创建一个 UIView,其中包含一个 'cutoff' UIImageView?

标签 ios objective-c uiview uiimageview

假设我想创建一个宽度和高度为 100x200 的 UIView。

然后,我想创建一个大小为 100x300 的 UIImageView(因为这是我的图像的大小)。

但是,我希望将图像的底部 100px 剪掉。当我现在执行此操作时,UIImageView 似乎将 UIView 的大小扩展到 100x300,而不是原来的 100x200。

这是我的代码。我怎样才能做到这一点?

UIView *screeshotView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100.0, 200.0)];

UIImageView *phoneView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 300.0)];
UIImage *phoneImage = [UIImage imageNamed:@"iPhone_6_White.png"];
phoneView.image = phoneImage;

[screeshotView addSubview:phoneView];

最佳答案

有一个名为 clipsToBounds 的属性(默认为 false)。它在所有 UIView 中。
就这样

screeshotView.clipsToBounds = true;

这应该切断屏幕截图 View 框架之外的任何内容

关于ios - 如何以编程方式创建一个 UIView,其中包含一个 'cutoff' UIImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31709627/

相关文章:

ios - 在我的标签栏后面放置一个 View

ios - Xcode 7 Beta 5 - Storyboard 中缺少所有 subview

ios - 如何在进行中的广播上传扩展中显示错误词(iOS,replaykit)

iphone - 如何在 iPhone 的下拉框中选择多个项目并显示在文本框中?

ios - iOS 8 和 iOS 7 的 UDID 替换

iphone - 无法使用 Git 集成提交 Xcode 项目

ios - 如何在没有占位符文本的情况下设置属性文本?

ios - 在 iPhone 5 上尝试调试应用程序时出现 Xamarin iOS 错误

iphone - iPhone 企业计划是否允许我使用超过 100 台设备进行 Beta 测试?

iphone - 如何推送 ViewController 并让第一个 Controller 部分可见?