【问题标题】:Bottom corners arent round底角不是圆的
【发布时间】:2018-12-10 22:30:13
【问题描述】:

我遇到了一些容器视图的问题。 主视图有 2 个容器视图。其中一个只是一个容器视图,直接来自下拉菜单,只不过是通过 Storyboard 修改它的子 VC。 (嵌入式)。

第二个容器视图内部有一个滚动视图,容器视图内部有一个具有自定义大小的第二个视图。 (我在 youtube 上看到了一个教程)。

现在我在 HomeVC 上的 viewdidload 上调用以下代码:

func setupViews() {
    containerTop.layer.cornerRadius = 15
    containerTop.clipToBounds = true

    containerBot.layer.cornerRadius = 15
    containerBot.clipToBounds = true
}  

以上代码生成THIS RESULTS。如您所见,除了 2 个角外,所有角都是圆形的(顶视图的底部 2 个角)。为什么会发生这种情况,我该如何解决?

【问题讨论】:

  • 你试过 containerTop.maskToBounds = true 吗?

标签: ios swift uiview


【解决方案1】:

我不是 100% 确定您为什么会出现这种奇怪的行为,我也遇到过类似的问题并已修复,如下所示:(您的项目应该支持 iOS11++ 才能使该解决方案发挥作用:

func setupViews() {
  containerTop.layer.cornerRadius = 15
  containerTop.clipToBounds = true

  containerBot.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner, .layerMinXMaxYCorner, .layerMaxXMaxYCorner]
  containerBot.layer.cornerRadius = 15
  containerBot.clipToBounds = true
}  

【讨论】:

    【解决方案2】:

    感谢您的建议。不幸的是,它没有用。 我能够通过执行以下操作来修复它: 在故事板树上 ViewController 在元素树上有一个视图。我将它作为我的代码中的一个出口链接,并使其成为圆角。基本上我两次调用圆角: - 主页视图控制器有:

    func setupViews() {
      containerTop.layer.cornerRadius = 15
      containerTop.clipToBounds = true
    
      containerBot.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner, .layerMinXMaxYCorner, .layerMaxXMaxYCorner]
      containerBot.layer.cornerRadius = 15
      containerBot.clipToBounds = true
    }  
    

    然后 ContainerTopViewController 有一个视图(每个情节提要),代码是:

    class ContainerTopViewController: UIViewController {
    <LINKED THROUGH STORYBOARD> myView: UIViewController
    func loadView() {
    myView.layer.cornerRadius = 15
    myView.layer.clipToBounds = true
    }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-16
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      相关资源
      最近更新 更多