c# - Xamarin 和 ios 锚约束不起作用
问题描述
如果我将此代码添加到基本启动项目的 ViewDidLoad 中,则看不到红色视图...我认为它应该显示在窗口的顶部中心...我做错了什么?
var redview = new UIView(new CGRect(0, 0, 100, 200));
redview.BackgroundColor = UIColor.Red;
redview.TranslatesAutoresizingMaskIntoConstraints = false;
View.AddSubview(redview);
redview.TopAnchor.ConstraintEqualTo(this.View.TopAnchor).Active = true;
redview.CenterXAnchor.ConstraintEqualTo(this.View.CenterXAnchor).Active = true;
解决方案
因为你设置了redView
.which 的框架,会和 .which 冲突Constraint
。参考以下代码
var redview = new UIView();
redview.BackgroundColor = UIColor.Red;
redview.TranslatesAutoresizingMaskIntoConstraints = false;
View.AddSubview(redview);
redview.TopAnchor.ConstraintEqualTo(this.View.TopAnchor).Active = true;
redview.CenterXAnchor.ConstraintEqualTo(this.View.CenterXAnchor).Active = true;
redview.WidthAnchor.ConstraintEqualTo(100).Active=true;
redview.HeightAnchor.ConstraintEqualTo(200).Active = true;
推荐阅读
- php - 连接 RabbitMQ 耗时过长
- tomcat - Tomcat 9 设置外部属性
- tsql - 如果没有子元素,T-SQL XML 不返回元素
- html - Web 浏览器上的流或伪流 h.264
- sentry - 如何配置 Sentry 客户端在发送到 Sentry 服务器之前捆绑日志
- objectlistview - 如何格式化来自 Bright Idea Software 的 ObjectListView 的 DataListView 中的数字以显示精确到小数点后 4 位
- javascript - 关于跨度值的 if 语句
- javascript - 如何使用 Express 为 m3u8 提供 mpegts 流
- docker-entrypoint - 无法从一个容器 ping 到连接在同一网络中的另一个容器
- websocket - Ktor CIO wss 套接字立即关闭