gpt4 book ai didi

ios - 如何实现UIView只显示在屏幕的特定区域(SWIFT)

转载 作者:行者123 更新时间:2023-11-30 13:55:01 25 4
gpt4 key购买 nike

我有我的 View Controller 。我的 Viewcontroller 中有我的 UIView

@IBOutlet var myview: MyView!

我实例化了我的观点:

let halfescreen=self.view.frame.height/2;
let onlyinlowerpart=CGRectMake(0, halfescreen, self.view.frame.width, halfescreen);
myview=MyView(frame: onlyinlowerpart);
myview.frame=CGRectMake(0, halfescreen, self.view.frame.width, halfescreen);

myview.backgroundcolor=UIColor.blueColor();

显示时,我可以看到屏幕下部出现蓝屏。太棒了!

当我将 myview 向上移动时,它将超出我指定的区域。

如何修复我的 View 仅显示在指定区域。最后,我想通过平移( CGAffineTransformTranslate() ) View 和缩放来移动此 View 中的内容,但所有内容都应该位于屏幕的指定框架中。

有人提示如何做/构建这个吗?是否需要指定任何ViewContainer?

更新Izaak Prats,感谢您的帮助并让我走上了正确的道路,但我仍然没有成功。你能再帮忙吗?我使用以下代码添加了约束(顶部),但当 CGAffineTransformTranslate 时它仍然超出了顶部约束。

view.addSubview(myview);


// Set constraints for the worldmap
let pinTop = NSLayoutConstraint(item: myview, attribute: .Top, relatedBy: .Equal,toItem: self.view, attribute: .Top, multiplier: 1.0, constant: halfescreen)

NSLayoutConstraint.activateConstraints([pinTop])

最佳答案

您不必两次设置框架。最后一行代码是多余的。

要使 View 位于您想要的位置,您可以以编程方式设置约束到 View 上。

这是 Apple 的文档 - Programmatically Creating Constraints

关于ios - 如何实现UIView只显示在屏幕的特定区域(SWIFT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33737248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com