• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 不能绕过 UIViewController 的所有角落

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:20:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试绕过 UIViewController 的所有角落。在我的 View Controller 中,我有以下内容:

 override func viewDidLoad()
  {
    super.viewDidLoad()

    let maskLayer = CAShapeLayer()
    maskLayer.path = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: .AllCorners, cornerRadii: CGSize(width: 10, height: 10)).CGPath
    view.layer.mask = maskLayer
    let margin = CGFloat(10)
    self.view.frame = CGRect(x: margin, y: margin, width: view.frame.size.width - margin*2, height: view.frame.size.height - margin * 2)
  }

在呈现上述 Controller 的 View Controller 中,我有:

let storyboard = UIStoryboard(name: "Subscriptions", bundle: nil)
let subscriptionsViewController = storyboard.instantiateViewControllerWithIdentifier("subscriptionsViewController") as! SubscriptionsViewController
addChildViewController(subscriptionsViewController)
view.insertSubview(subscriptionsViewController.view, aboveSubview: view)
subscriptionsViewController.didMoveToParentViewController(self)

这很好地展示了新的 Controller ,但是只有左上角是圆形的,其他的都不是。有什么想法我可能在这里做错了吗?谢谢!



Best Answer-推荐答案



您在这里发布了错误的问题!
因为**cornerRadius**是一个CALayer的属性,它与一个UIView相关联。 View Controller 不能有,但它的 View 属性可以有。

照原样 - 试穿 在 Objective-C 中(在 Swift 中也一样):

yourViewControllerToPresent.view.layer.cornerRadius = 3.0f//floatValue;
yourViewControllerToPresent.view.layer.masksToBounds = YES;

关于ios - 不能绕过 UIViewController 的所有角落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35982528/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap