当前位置:  编程技术>移动开发
本页文章导读:
    ▪forward 跟 sendRedirect的区别        forward 和 sendRedirect的区别 SendRedirect1、是不同的request;2、send后的语句会继续执行,除非return3、速度慢4、需要到客户端的往返,可以赚到任何页面5、地址栏有变化6、可以传参数forward1、虽.........
    ▪ ASIHTTPRequest 施用与实例        ASIHTTPRequest 使用与实例 ASIHTTPRequest 是一个直接在CFNetwork上做的开源项目,提供了一个比官方更方便更强大的HTTP网络传输的封装。它的特色功能如下:1,下载的数据直接保存到内存或文件.........
    ▪ 设立UILabel和UITextField的Insets       设置UILabel和UITextField的Insets Insets这个名字有点让人费解,其实它表示的是内容与控件边界的距离,相当于CSS中的padding。   目前,在iOS的控件中,只看到UIButton可以设置Insets,对应的属性是:.........

[1]forward 跟 sendRedirect的区别
    来源: 互联网  发布时间: 2014-02-18
forward 和 sendRedirect的区别
SendRedirect
1、是不同的request;
2、send后的语句会继续执行,除非return
3、速度慢
4、需要到客户端的往返,可以赚到任何页面
5、地址栏有变化
6、可以传参数
forward
1、虽然是不同的对象,但是,可以取到上一页面的内容
2、forward后的语句不会继续发送给客户端
3、速度快
4、服务器内部转换
5、地址栏没有变化
6、可以传参数

    
[2] ASIHTTPRequest 施用与实例
    来源: 互联网  发布时间: 2014-02-18
ASIHTTPRequest 使用与实例
ASIHTTPRequest 是一个直接在CFNetwork上做的开源项目,提供了一个比官方更方便更强大的HTTP网络传输的封装。它的特色功能如下:
1,下载的数据直接保存到内存或文件系统里
2,提供直接提交(HTTP POST)文件的API
3,可以直接访问与修改HTTP请求与响应HEADER
4,轻松获取上传与下载的进度信息
5,异步请求与队列,自动管理上传与下载队列管理机
6,认证与授权的支持
7,Cookie
8,请求与响应的GZIP
9,代理请求

    
[3] 设立UILabel和UITextField的Insets
    来源: 互联网  发布时间: 2014-02-18
设置UILabel和UITextField的Insets

Insets这个名字有点让人费解,其实它表示的是内容与控件边界的距离,相当于CSS中的padding。

 

目前,在iOS的控件中,只看到UIButton可以设置Insets,对应的属性是:contentEdgeInsets、titleEdgeInsets、imageEdgeInsets,它们接受的属性类型都是UIEdgeInsets,可以由函数UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)构造。在xib中也有界面来对按钮的这三个EdgeInsets属性进行设置,分别是按钮的Edge和 Inset属性。

 

如果想设置UILable或UITextField中的文本离边界的距离,无伦是在xib里还是直接代码的方式都无能为力,因为苹果未开放相应的属性让你去控制,所以,我们只能自定义相应的控件。

 

首先来看看UILabel的子类InsetsLabel的实现代码。

 

InsetsLabel.h

 

#import <UIKit/UIKit.h>

@interface InsetsLabel : UILabel

@property(nonatomic) UIEdgeInsets insets;

- (id)initWithFrame:(CGRect)frame andInsets:(UIEdgeInsets) insets;
- (id)initWithInsets:(UIEdgeInsets) insets;

@end

 

InsetsLabel.m

 

#import "InsetsLabel.h"

@implementation InsetsLabel

@synthesize insets = _insets;

- (id)initWithFrame:(CGRect)frame andInsets:(UIEdgeInsets)insets {
    self = [super initWithFrame:frame];
    if(self) {
        self.insets = insets;
    }
    return self;
}

- (id)initWithInsets:(UIEdgeInsets)insets {
    self = [super init];
    if(self) {
        self.insets = insets;
    }
    return self;
}

- (void)drawTextInRect:(CGRect)rect {
    return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, self.insets)];
}

@end

 

再来看看UITextField的子类InsetsTextField的实现代码。

 

InsetsTextField.h

 

#import <UIKit/UIKit.h>

@interface InsetsTextField : UITextField

@end

 

InsetsTextField.m

 

#import "InsetsTextField.h"

@implementation InsetsTextField

//控制placeHolder的位置
- (CGRect)textRectForBounds:(CGRect)bounds {
    return CGRectInset(bounds, 20, 0);
}

//控制文本的位置
- (CGRect)editingRectForBounds:(CGRect)bounds {
    return CGRectInset(bounds, 20, 0);
}

@end

 

上面实现InsetsTextField的方式更像是借鉴的InsetsLabel的实现,其实对于 UITextField还有更好的实现方式,而且更简单,因为这是UITextFiled本来就支持的做法。例如它可以让你做出在文本框最前方固定放一个$符号,表示这个文本框是输入金额的,这个$是不能被删除的。确实,你可以在UITextField上贴个UILabel,然后文本框的光标后移,但这个显得有点麻烦了。

 

UITextField可以直接设置leftView或rightView,然后文本输入区域就在leftView和 rightView之间了。

 

UITextField *textField = [[UITextField alloc] init];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 10, 25)];
label.text = @"$";
label.textColor = [UIColor darkGrayColor];
label.backgroundColor = [UIColor clearColor];
textField.frame = CGRectMake(0, 0, 180, 25);
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.leftView = label;
textField.leftViewMode = UITextFieldViewModeAlways;
[self.view addSubview:textField];
[label release];
[textField release];

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3