iOS:如何创建一个位于圆角 UIView 边缘的关闭按钮(使用 IB)?

发布于 2024-12-09 12:14:50 字数 333 浏览 0 评论 0原文

背景:

我正在开发一个 iPad 应用程序,当用户单击图像时,该应用程序会弹出自定义视图。 我希望视图有圆角和位于右上角的关闭按钮(圆圈中的红色 x )。

按钮一半在视图内,一半在视图外......看看 Kayak 或 Zynga Poker 应用程序,看看我在说什么。

问题:如果我以编程方式创建视图并添加按钮,它就可以工作。

但是,我真的想使用笔尖来创建视图,以便我可以正确设计视图。因此,当我在视图上调用 self.layer.maskToBounds = YES (以创建半径为 25 的圆角)时,它会剪辑我的按钮(因为它一半进一半出)。如何保留按钮而不被剪断并且仍具有圆角?

Background:

I am working on an iPad app that will pop a custom view when the user clicks on an image.
I want the view to have rounded corners and a close button ( red x in a circle ) that sits on right top edge.

The button in half inside and half outside the view.... Take a look at the Kayak or Zynga Poker apps to see what I am talking about.

Question : If I create the view programmatically and add the button, it works.

However, I really want to user a nib to create the view so I can design the view correctly. So when I call self.layer.maskToBounds = YES on the view ( to create the rounded corners with a radius of 25 ), it clips my button ( since its half in and half out ). How do I retain my button without it getting clipped and still have rounded corners ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦回梦里 2024-12-16 12:14:51

在我看来,您正在使用视图和按钮。您可以尝试使用第三个容器视图(具有清晰的背景),在其中放置原始视图和按钮。可以这么说,该按钮需要位于视图的顶部,这样它就不会被您的视图遮挡。但这应该允许您在视图(而不是容器视图)上有适当的圆角,并使按钮完全可见。

Sounds to me like you are using a view and a button. What you might try is using a third container view (with clear background) in which you place your original view and your button. The button will need to be on top of the view, so to speak, so it is not obscured by your view. But that should allow you to have properly rounded corners on your view (not the container view) and have your button fully visible.

猫九 2024-12-16 12:14:51

某些设置(例如 maskToBounds、cornerRadius)在 IB 中不可用。您可以使用 NIB 创建整个视图,但它在 IB 中没有圆角,并且在 viewDidLoad 中您只设置那些无法在 IB 中设置的属性。

Some settings, such as maskToBounds, cornerRadius, aren't available in IB. You can create the entire view using a NIB except it won't have rounded corners in IB and in viewDidLoad you set just those properties that couldn't be set in IB.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文