zoukankan      html  css  js  c++  java
  • IOS发展--他们控制的定义

    有没有这样的要求,,自定义panel,里面放几个控件,在多个页面中使用此panel。

    有三个观点来解决这个问题:

    1.自己继承UIView写一个类,在它是在代码的形式加入需要控制。完成布局。

    2.使用XIB

    3.使用storyboard完毕布局

    在这三中方式中,1显得高端大气上档次。哗啦哗啦敲半天。尽管我是技术控。可是也非常反感这纯粹的情怀。

         3以UIViewController满足不了我的须要,用起来不太方便。(也可能非常好用。我不会用。求指点)

    所以就解说一下XIB怎样自己组合实现控件,并且在这里也不讲前因后果的。循序渐进的搞半天。搞得头都晕。直接上终于使用方法。

    用发分为一下三步:

    1.新建一个继承自NSObject的类,用来存放自己定义的XIB中的UIView。

    a.为了方便这个类中加入一个类方法

    + (id)viewFromNibByName:(NSString *)name{

        FileOwner2* owner = [FileOwner2 new];

        [[NSBundle mainBundle] loadNibNamed:name owner:owner options:nil];

        return owner.view;

    }

    2.新建一个XIB文件。

    a.设置一下XIB的大小尺寸,如图:

    b.设置XIB的FileOwner为1中新建的类。


    c.将View与FileOwner建立关联,这样FileOwner能够对其进行操作。


    3.在其它文件使用

        //载入View5

        UIView* view5 = [FileOwner2 viewFromNibByName:@"View5"];

        [view5 setFrame:CGRectMake(0, 400, 375, 100)];

        [self.view addSubview:view5];

    总结:能够多个XIB公用一个FileOwner这样,能够通过一个FileOwner静态方法不同的名称来创建一个新的不同的panel该。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    乐乎环球WiFi
    Freeswitch 添加可转码的G729编码
    freeswitch 使用mysql替换默认的sqlite
    IDEA项目突然提示找不到符号或程序包不存在
    JAVA_四大代码块_普通代码块、构造代码块、静态代码块、同步代码块。
    动态规划_连续子数组的最大和
    电话号码分身
    ajax中用jsonp接收json数据
    用Navicat建表的字段编码问题
    阿里云ubuntu安装jdk8+mysql+tomcat
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4745208.html
Copyright © 2011-2022 走看看