旋转UIView后更新约束

时间:2015-09-02 17:04:44

标签: ios objective-c autolayout nslayoutconstraint cgaffinetransform

我有一个矩形UIView,其边缘被限制在其超视图中。我需要将此视图旋转90度,但随后更新其约束以使其保持正确约束到超级视图。如果我做

self.overlayView.transform = CGAffineTransformMakeRotation(M_PI * 0.5);

视图旋转,但宽度和高度保持固定方向错误。我是否需要打破约束并再次设置它们以使顶部约束到超级视图的左侧,左侧约束到超级视图的底部等等?

1 个答案:

答案 0 :(得分:1)

Autolayout与setFrame一起玩。根据{{​​3}},当<!DOCTYPE html> <html> <head> <base href="http://demos.telerik.com/kendo-ui/grid/editing-popup"> <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style> <title></title> <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2015.2.902/styles/kendo.common-material.min.css" /> <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2015.2.902/styles/kendo.material.min.css" /> <script src="https://kendo.cdn.telerik.com/2015.2.902/js/jquery.min.js"></script> <script src="https://kendo.cdn.telerik.com/2015.2.902/js/kendo.all.min.js"></script> </head> <body> <div id="example"> <div id="grid"></div> <script> $(document).ready(function () { var crudServiceBaseUrl = "//demos.telerik.com/kendo-ui/service", dataSource = new kendo.data.DataSource({ transport: { read: { url: crudServiceBaseUrl + "/Products", dataType: "jsonp" }, update: { url: crudServiceBaseUrl + "/Products/Update", dataType: "jsonp" }, destroy: { url: crudServiceBaseUrl + "/Products/Destroy", dataType: "jsonp" }, create: { url: crudServiceBaseUrl + "/Products/Create", dataType: "jsonp" }, parameterMap: function(options, operation) { if (operation !== "read" && options.models) { return {models: kendo.stringify(options.models)}; } } }, batch: true, pageSize: 20, schema: { model: { id: "ProductID", fields: { ProductID: { editable: false, nullable: true }, ProductName: { validation: { required: true } }, UnitPrice: { type: "number", validation: { required: true, min: 1} }, Discontinued: { type: "boolean" }, UnitsInStock: { type: "number", validation: { min: 0, required: true } } } } } }); $("#grid").kendoGrid({ dataSource: dataSource, pageable: true, height: 550, toolbar: ["create"], columns: [ { field:"ProductName", title: "Product Name" }, { field: "UnitPrice", title:"Unit Price", format: "{0:c}", width: "120px" , hidden: true, }, { field: "UnitsInStock", title:"Units In Stock", width: "120px",hidden: true, }, { field: "Discontinued", width: "120px" }, { command: ["edit", "destroy"], title: "&nbsp;", width: "250px" }], editable: "popup" }); }); </script> </div> </body> </html> 设置为身份以外的其他内容时,框架未定义。

基于the docs,似乎在iOS8中已修复此问题(实际上它们引用了上述文档,并指出在转换后的视图中调用iOS8 register方法)。