如何在 iPhone 上绘制一个带有剪角而非圆角的矩形?
我看到了很多如何使用 iPhone SDK 绘制圆角矩形的示例。我真正需要的是一个修剪过的角矩形,如下所示:
谢谢, 乔什
I saw many examples of how to draw a rounded rectangle using iPhone SDK. What I really need is a trimmed corner rectangle, something that will look as follows:
Thanks,
Josh
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
(这是为了采纳 Jonathan Grynspan 的建议而进行编辑的,只需使用辅助函数来创建路径。现在它还允许修剪角的高度与其宽度不同。)
这是一个辅助 C 函数来创建这样的路径:
以下是如何在自定义视图的 -drawRect: 方法中使用它:
(This is edited to take Jonathan Grynspan's suggestion and just use the helper function to create a path. It also now allows for the trimmed corner's height to be different from its width.)
Here is a helper C-function to create a such a path:
And here is how you would use this in your custom view's -drawRect: method:
我只使用 8 条线段(起始路径、向路径添加线、结束路径、描边路径)。
您只需要从每个 x 或 y 角坐标中添加或减去一些常数即可获得所有 8 个点。您可以编写一个与 CGStrokeRect 具有相同 api 的简单函数来封装上述所有内容。
I would just use 8 line segments (start path, add line to path, end path, stroke path).
You would just need to add or subtract some constant from each x or y corner coordinate to get all 8 points. You could write a simple function with the same api as CGStrokeRect to encapsulate all the above.