当前位置: 首页 > 面试题库 >

UIBezierPath在TopRight角和BottomRight角不起作用

史默
2023-03-14
问题内容

我想右上角,但仅适用于左上角

let path = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: [UIRectCorner.TopLeft, UIRectCorner.TopRight], cornerRadii: CGSizeMake(20.0, 20.0))
let maskLayer = CAShapeLayer()
    maskLayer.path = path.CGPath
    view.layer.mask = maskLayer
    view.layer.masksToBounds = true

问题答案:

问题在于您需要在为当前设备调整视图大小之前获取视图的边界。它比以后在屏幕上出现时要大,因此,圆角矩形的右侧不在屏幕的右侧。

在调整视图大小之后,您需要稍后创建path和设置maskLayer.path,这意味着在运行循环的布局阶段期间或之后。因此,要么继承视图的子类并在视图的layoutSubviews方法中进行操作,要么在视图控制器的viewDidLayoutSubviews方法中进行操作。



 类似资料:
  • 问题内容: 我有一个与此问题类似但又不同的问题。 在这里,我试图为处理程序添加事件侦听器。 在没有被角的认可。 另一个问题是我应该调用作用域,但是对我来说唯一可用的作用域是调用它似乎不起作用。 对答案的评论表明,可以使用 但这给了我,这是行不通的。 如何获得角度来重新确定更改?是否有更好的方式注册回调,以便可以更改路径? 问题答案: 您应该在类似方法中将表达式作为函数运行 请参阅文档-ng。$ro

  • 在代码中使用XSLT 2.0的字符映射功能时,我遇到了以下错误。 名称空间中的元素“样式表”http://www.w3.org/1999/XSL/Transform'命名空间中的子元素'character map'无效'http://www.w3.org/1999/XSL/Transform“是的 这是我的XSLT声明 请提供有关如何在XSLT中使用字符映射的帮助。

  • 问题内容: 我在PhoneGap中遇到ngView的问题。 一切似乎都可以正常加载,我什至可以使用ng-controller使基本控制器正常工作。但是,当我尝试在ngView中使用路由时,什么也没发生。 index.html app.js 每次单击链接时,Eclipse记录器都会显示该链接,而在没有链接的情况下尝试该链接会引发一个错误,即找不到该路径。 从我在其他任何地方已经做好的准备,这应该可以

  • 问题内容: 似乎无法正常工作。通过日期是这样的: 在目标状态上忽略参数 码: 现场示例可以在 这里 找到 谢谢。 问题答案: 您不能在状态之间传递任意参数,您需要将它们定义为定义的一部分。例如 上面的代码将输出定义了contactId属性的对象。如果你去,你会的。 有关更多信息,请参见UI-Router URL路由的文档。

  • 在ngFor循环中使用ngModel有一个问题。我在做电子商务应用程序,我想用数量来获得输入的价值,但每个ngModel都有相同的名称,所以它一直更新所有的输入,像这样:Img和下面是我的页面代码:

  • 我用角5.2.0和之。我只是t 到目前为止,我已经尝试最小化svg特定标签的数量,这样我就可以避免这个问题,但是,似乎我拥有的标签都需要正确渲染图像(将下面的版本保留为未剪切)。 我也试过把svg:前缀在前面 片段:https://stackblitz.com/edit/angular-wmhj27?file=app/app.component.html 欢迎任何建议/建议。 我已经排除了所有其他