微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在stackview下绘制矩形

如何解决在stackview下绘制矩形

我发现自己不得不手动绘制一个带有圆角边缘的矩形作为水平堆栈视图的背景。要创建经典的ios“气泡”效果,例如whatsapp聊天,其中的文字会被绿色包围。

我附上代码

var BackgroundStack = new UIView();
BackgroundStack.Frame = new CGRect(0,-20,TopSchedaStack.Bounds.Width,TopSchedaStack.Layer.Bounds.Height+40);
BackgroundStack.BackgroundColor = UIColor.TertiarySystemGroupedBackgroundColor;
BackgroundStack.Layer.CornerRadius = 20;
TopSchedaStack.InsertSubview(BackgroundStack,0);

困惑在于“ BackgroundStack.Frame ...”,我需要用灰色矩形将生成的元素包装在UIHorizo​​ntalStackView类型的“ TopSchedaStack”情节提要中。因此,我使用CGRect函数创建了它,但是当我必须将其精确定位在对象下方时,它会在水平和垂直方向上受限于视图并居中。我正在努力,无法从堆栈中获得期望的宽度。在情节提要文件中,它的位置是一种方式,但是当我使用以下方法恢复其宽度时:

TopSchedaStack.Bounds.Width or TopSchedaStack.Frame.Width

获得的值不是我期望的。我希望堆栈从视图的左边缘到右边缘会很长,从而消除了指导原则。因此,它是一个在点0处分别限制在右侧和左侧的对象。

enter image description here

enter image description here

我希望灰色矩形覆盖包含storyaboard项目的图像中描绘的蓝色矩形的一部分。我几乎会随机更改值,直到它回来,我确定迟早会成功,但是我坚信这不是正确的方法。你能帮我吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。