美文网首页
修改xib自定义cell的frame,自定义view同样适用。

修改xib自定义cell的frame,自定义view同样适用。

作者: 0x00chen | 来源:发表于2017-03-28 14:14 被阅读79次

文章写的比较简洁所以可能一眼看不懂什么意思,这里我解释一下,通常我们用纯代码来自定义view或者cell的时候,初始化都是在自定义view的下面

- (instancetype)initWithFrame:(CGRect)frame;

这个方法里面初始化,然后再控制器里面初始化

SomeView *cusView =[SomeView alloc]initWithFrame:CGRect(x,y,w,h)];

修改frame的话也可以直接修改,但是当我们用xib自定义view的时候如果你想修改里面某个view的frame的时候就不能直接通过代码修改了,通过下面的方法可以实现代码修改xib的frame,原理就是通过drawRact方法重绘界面。


不用取消autolayout 不用拉约束修改Contraints,方便快捷。

👏.gif

直接上代码。

.m
@interface CommunityTopCell (){
    CGRect myframe;  
}

.m
- (id)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:frame];
    if (self) {
        NSArray * nibs = [[NSBundle mainBundle]loadNibNamed:NSStringFromClass([CommunityTopCell class]) owner:nil options:nil];
        self = nibs[0];
        myframe = frame;
    }
    return self;
}
- (void)drawRect:(CGRect)rect{
    self.frame = myframe; //关键
}

(打扰了)

相关文章

  • 修改xib自定义cell的frame,自定义view同样适用。

    文章写的比较简洁所以可能一眼看不懂什么意思,这里我解释一下,通常我们用纯代码来自定义view或者cell的时候,初...

  • iOS中xib与storyboard各种加载

    xib 加载自定义View xib 加载自定义控制器 storyboard 加载自定义控制器 xib 加载自定义cell

  • Cell定制和Frame模型引入

    一、xib定制cell 二、代码定制cell 三、frame模型引入(自定义高度)

  • 做项目遇到的问题总结

    一、xib随意设置frame 自定义View的Xib,初始为一个界面,且不可改变的大小,所以我们修改下,如下图: ...

  • UI-Xib

    Xib的加载 方法1 方法2 自定义控件view的步骤 新建自定义控件类 修改xib中view的类名 封装xib的...

  • 自定义不等高cell

    自定义不等高cell 自定义不等高cell(纯代码) 给模型增加frame数据 所有子控件的frame cell...

  • xib中的frame

    使用XIB自定义cell,并且使用了Masonry,所以在awakeFromNib 方法中是拿不到正确的frame...

  • UIView

    view的封装 Xib和storyboard对比 Xib的加载 使用xib自定义view的步骤 l新建自定义控件类...

  • Swift 自定义view 关联xib

    方法一: //自定义view:MyView//xib中 Custom Class 的class 修改为 MyVie...

  • Swift4 RxSwift RxDataSources UIT

    自定义Cell BJTableViewBasicViewController实现 注:如自定xib,请注册cell...

网友评论

      本文标题:修改xib自定义cell的frame,自定义view同样适用。

      本文链接:https://www.haomeiwen.com/subject/cnyjottx.html