五分钟,运用cocoaui库,搭建主流iOS app中我的界面

         本项目基于天天团购项目 !

  首先介绍一些cocoaui,是国内的一名程序员做的开源的开源系统,目的是为了简化ios布局!官网地址:www.cocoaui.com,github地址:https://github.com/ideawu/cocoaui

  我们这里使用xml定义布局界面,其实就是传统的html + css定义界面,大部分人都有网页布局的经验,搞ios布局还是很容易入手并且快捷的!我们首先看下我们要做的界面:

  

   我们按照html+css的格式来定义这个界面:

   

<div>
    <style>
        .headDiv
        {
        width:100%;
        }

        .divStyle{
        width:100%;
        height:auto;
        border-bottom: 1 solid #eee;
        background:#fff;
        vertical-align:middle;
        }

        .subdivStyle
        {
        height:auto;
        border: 1 solid #eee;
        height:40px;
        background:#fff;
        }

        .textStyle{
        float:left;
        height:40px;
        valign:middle;
        }

        .btnStyle
        {
        background:#EDA67B;
        width:80%;
        height:50px;
        float:center;
        }

    </style>

    <div id="headContent" class="headDiv">
        <img id="profileHeader" style="width:80px;height:80px;float:center;margin:10px;" src="default_head.png" />
    </div>

    <div id="myWashCar" class="subdivStyle" style="width:50%;height:80px;">
        <img style="margin:10px;width:50px;height:50px;valign:middle;" src="ic_mt_coupon" />
        <span type="text" class="textStyle" >消费卷</span>
    </div>
    <div id="myCoupon" class="subdivStyle" style="width:100%;height:80px;">
        <img style="margin:10px;width:50px;height:50px;valign:middle" src="ic_user_main_favorite.png" />
        <span class="textStyle" style="vertical-align:middle;" >我的收藏</span>
    </div>

    <div id="myCar" class="divStyle">
        <img style="margin:10px" src="myfollow.png" />
        <span type="text" class="textStyle">我的订单</span>
        <img style="float:right;margin:10px;" src="ic_arrow.png" />
    </div>

    <div id="myMsg" class="divStyle">
        <img style="margin:10px" src="mylike.png" />
        <span class="textStyle">我的评价</span>
        <img style="float:right;margin:10px;" src="ic_arrow.png" />
    </div>
    <div id="myVersion" class="divStyle">
        <img style="margin:10px" src="moreitems_version.png" />
        <span type="text" class="textStyle">版本更新</span>
        <img style="float:right;margin:10px;" src="ic_arrow.png" />
    </div>

</div>

        将其命名为profile.xml文件放到工程中。格式是不是和普通的html+css界面一模样!支持大部分的html标记和css属性!

  然后在ProfileViewController中引入profile.xml文件:代码如下:

       

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self initSystemBtn];

    root = [IView namedView:@"profile.xml"];
    [self addIViewRow:root];
    [self reload];

    [self initEvent];
}

点击头像需要进入修改玩家信息界面,需要监听头像的点击事件:

-(void)initEvent
{
    __weak typeof(self) me = self;
    IImage *profileHeader = (IImage *)[root getViewById:@"profileHeader"];
    [profileHeader addEvent:IEventClick handler:^(IEventType type,IView *view){
        [me gotoProfileEdit];
    }];
}

是不是很简单就能定义一个界面!

  补充

  1:对SdWebImage的支持,IImage(UIImageView的再次封装)中暴露了UIIMageView的接口,可以方便的使用sdWebImage,开始是不支持的,和作者沟通了一下,暴露了这个接口!

  2:对上拉刷新和下拉加载的支持。有例子为证:http://www.cocoaui.com/docs/api/IRefreshControl

  3: 对于webview的支持!控件中没有对于webview的支持,如果页面中需要嵌入webview则需要动态创建!

  4:对于radio和checkbox的支持,目前还不支持,需要动态创建,不过非常easy!

  5: 由于很多app 都需要微信端,xml文件布局可以直接移植到移动端下面!

时间: 2024-11-04 17:55:56

五分钟,运用cocoaui库,搭建主流iOS app中我的界面的相关文章

iOS APP 中的不可变模型以及一致性数据

本文讲的是iOS APP 中的不可变模型以及一致性数据, 今年早些时候,为了给用户,尤其是大部分海外的用户更快更清晰的体验,我们全面重构了我们的 iOS 应用.这次重构的其中一个目的是将我们的应用迁移到一个不可变模型的层面上.在这篇博客中,我将会讨论这样做的动机,并探索我们的新系统是如何处理模型的更新,从 API 读取新信息,以及保持数据持久性的. 为什么选择不可变模型? 因为现今许多应用都转而使用了不可变设计,'不可变模型'已经成为了一个耳熟能详的术语.不可变性意味着再初始化后模型将不可再更改

问题就是啊啊-iOS app中怎么实现发红包功能

问题描述 iOS app中怎么实现发红包功能 求大神指导啊啊啊啊,公司最新的想法,现在还不知道恩么弄,有时候uiszhidao的的啊真希望不要哈哈哈发 你那么大开发建设的飞机哦圣诞节发来撒可对方能卡死的叫法开始的缴费卡拉斯的减肥你看拉水泥的反馈暗示对方的大师傅 解决方案 app 评论功能实现ios开发之APP升级的实现iOS App运行在后台实现定位以及播放音频功能 解决方案二: 不就是集成一个支付功能吗?UI方面想怎么设计都可以啊

详解iOS App中UITableView的创建与内容刷新_IOS

UITableView几乎是iOS开发中用处最广的一个控件,当然也是要记相当多东西的一个控件. 创建首先创建一个新的项目,并添加一个MainViewController的Class文件 打开MainViewController.h文件 @interface MainViewController : UIViewController<UITableViewDataSource,UITableViewDelegate> @property (nonatomic, retain) NSArray *

iOS App中实现播放音效和音乐功能的简单示例_IOS

播放音效iOS开发过程中可能会遇到播放音效的功能 其实很简单,iOS已经提供了一个框架直接负责播放音效 AudioToolbox.framework 新建项目  TestWeChatSounds 给新建的项目导入AudioToolbox.framework 导入成功之后如下图 项目目录如下 接下来我们给项目中添加几个caf格式的音效文件 接下来 我们打开 项目默认生成的ViewController中添加代码 导入 AudioToolbox 复制代码 代码如下: #import <AudioToo

在iOS App中实现地理位置定位的基本方法解析_IOS

iOS系统自带的定位服务可以实现很多需求.比如:获取当前经纬度,获取当前位置信息等等. 其定位有3种方式: 1,GPS,最精确的定位方式 2,蜂窝基站三角定位,这种定位在信号基站比较秘籍的城市比较准确. 3,Wifi,这种方式貌似是通过网络运营商的数据库得到的数据,在3种定位种最不精确 首先你要在你的Xcode中添加两个连接库,MapKit和CoreLocation,如图 core location提供了定位功能,能定位装置的当前坐标,同时能得到装置移动信息,最重要的类是CLLocationMa

iOS App中调用相册中图片及获取最近的一张图片的方法_IOS

UIImagePickerController从拍照.图库.相册获取图片 iOS 获取图片有三种方法: 1. 直接调用摄像头拍照 2. 从相册中选择 3. 从图库中选择 UIImagePickerController 是系统提供的用来获取图片和视频的接口: 用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤: 1. 初始化UIImagePickerController 类: 2. 设置UIImagePickerController 实例的数据来源类型(下面解

详解iOS App中UiTabBarController组件的基本用法_IOS

UiTabBarController这个控制器绝对是项目架构时做常用的一个控件. 我们大致看下控件的效果,我们就知道为什么说他常见了. 这就是最简单的一个雏形,想必现在基本70%的应用界面结构都会是这样的. 在Android中我们以ActivityGroup或是现在的fragment来实现,一个容器中包含多个子控制器. 下面我们还是以建立xib文件的形式来实现一个这样的整体布局的例子. 当然在 xcode中我们会发现其实直接有这么一个模板了 但是直接使用模板后会发现是直接在代码里实现了子布局得添

iOS App中UIPickerView选择栏控件的使用实例解析_IOS

UIPickerView控件是比UIDatePicker控件更普通的Picker控件,UIDatePicker控件可以理解成是从UIPickerView控件加工出来的专门进行日期选择的控件. UIPickerView控件的用法比UIDatePicker复杂一点.本文中的小例子将用UIPickerView控件做出两种效果,第一个只有一个转盘,第二个有两个转盘,但这两个转盘之间没有依赖关系,也就是说改变其中一个转盘中的选择,不会对第二个转盘产生影响.在下一篇文章会做一个转盘之间有依赖关系的例子. 下

使用Swift实现iOS App中解析XML格式数据的教程_Swift

在IOS中,提供了一套解析XML数据的API.其实也很简单,就是NSXMLParser和NSXMLParserDelegate. 可以直接指定到XML的URL去实例化NSXMLParser 复制代码 代码如下: public convenience init?(contentsOfURL url: NSURL) 解析文件,返回的是一次解析的结果 复制代码 代码如下: NSXMLParser.parse() -> Bool 监听解析节点的属性 复制代码 代码如下: NSXMLParserDeleg