当你自定义view用的约束之后,放到其他空间算取frame的时候发现frame里的x,y都是0

今天差点被这个问题搞晕,当我自定义一个xib用了约束,然后在需要用到的控制器里面创建该view,然后用masonry自动约束与其他控件,发现算取的控件 x,y都为0,  查找了好久 最后用三行代码解决

[self.view setNeedsUpdateConstraints];
                    [self.view setNeedsLayout];
                    [self.view layoutIfNeeded];
时间: 2024-08-13 00:29:17

当你自定义view用的约束之后,放到其他空间算取frame的时候发现frame里的x,y都是0的相关文章

swift 自定义view VFL 设置约束冲突

1. tableview的cell 上添加了一个自定的view,view上带圆角,渐变色啥的, 修改按钮和 删除按钮 在人数为0的时候才显示, 此时在model复制的时候动态改变,cell高度会出现 复用问题 解决方法: 自定义View需要在 tableview的cell 动态赋值时使用  cardView.setNeedsDisplay(), 猜测:view没有自动调用重绘方法, 造成 2.cell上的自定义view约束冲突,  需要先把 之前显示的约束和控件先隐藏, 在将需要显示的约束和控件

UI--从学习styleable自定义view属性到一点儿更有意思的尝试

<代码里的世界> -UI篇 用文字札记描绘自己 android学习之路 转载请保留出处 by Qiao http://blog.csdn.net/qiaoidea/article/details/45599593 [导航] - 多行文本折叠展开 自定义布局View实现多行文本折叠和展开 1.概述 前面封装view的时候用到了自定义属性,觉得有必要单独讲一下这部分,但是呢,又不想向其他文章一样千篇一律地写这些东西.所以呢,后便会加一些临时的发散思维,引用点有意思的东西.分享东西嘛,随性点儿. 回

IOS 使用XIB 自定义View

一般自定义View       代码方式 有 在初始化的时候添加 子Views - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // add subviews } return self; } 还有种 是自己画. 重载 - (void)drawRect:(CGRect)rect { } 如果  布局复杂的话  这种代码方式  可以郁闷死人   看不到效果,慢慢调 ,代码冗长..

android 自定义View Caused by: java.lang.ClassNotFoundException: Didn&#39;t find class

在android studio中, 自定义View 时,出现 Caused by: java.lang.ClassNotFoundException: Didn't find class 在查看包名和类名都没有错误的情况,一个可能的原因是,在添加包名时,粗心导致把包类型定义为androidTest下了 如下图所示: 本人做为android  新手,英语水平一般,只是如实记录自己所犯的错,高手不喜勿吐. android 自定义View Caused by: java.lang.ClassNotFo

【Android】自定义View、画布Canvas与画笔Paint

安卓自定义View其实很简单.这个View可以像<[Android]利用Java代码布局,按钮添加点击事件>(点击打开链接)一样,利用Java代码生成一系列的组件.也可以配合画布Canvas与画笔Paint来使用. 下面用一个例子来说明.如下图,有一个自定义布局View,里面摆放着,利用画布Canvas与画笔Paint绘制出来的蓝色正方形与红色文字. 在res\layout\activity_main.xml中,直接像摆放安卓固有组件一样,可以直接使用这个我定义组件.里面有蓝色正方形与红色文字

swift 之xib自定义view可视化到storyboard

首先直入正题:@IBInspectable & @IBDesignable 对于 @IBInspectable 和 @IBDesignable 可详见官方文档 : Creating a Custom View That Renders in Interface Builder 当然也可以阅读下中文版的: http://nshipster.cn/ibinspectable-ibdesignable/ 如果自定view是自己用纯代码写的,对于上面两种处理都比较简单,只需要指定类名即可. 但是如果这个

Android自定义View(一、初体验自定义TextView)

转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51454685 本文出自:[openXu的博客] 目录: 继承View重写onDraw方法 自定义属性 onMeasure方法 MeasureSpec 分析为什么我们自定义的MyTextView设置了wrap_content却填充屏幕 重写onMeasure方法 自动换行 源码下载 对于一个Android攻城狮来说,自定义控件是一项必须掌握的重要技能点,然而对于大部分人而言,感觉自定义控件并

iOS中 xib自定义View在storyboard中的使用

1,创建UIView 的SubClass 命名为MyView 2, new一个名为MyView的xib p1 3,配置xib的属性 p2 4,为View 添加背景色,添加一个按钮并定制按钮约束,这里我添加的约束为垂直居中,Button与View等宽,Button左边起点位置为0. p3 5,设置xib中的File’s owner = MyView, 拖拽view 到关联的代码中命名为contentView p4 6, 在storyboard 中对ViewController 添加一个View,之

Android自定义View的一般步骤

1.设置当前View自定义属性 需要在res的values文件夹下新建个attrs文件,在attrs文件中设置相关的自定义属性 设置自定义属性的名称 <!-- format属性可以用来限制当前自定义的属性是什么类型, 中间可以用 | 来连接,表示可以支持多种类型 --> <attr name="user_defined_attribute" format="color" /> <!-- 可以指定枚举类型,用来自定义一些需要用户选择的属性