1:UITextField设置出现清除按键

self.textField.clearButtonMode = UITextFieldViewModeWhileEditing;

说明:

UITextField.clearButtonMode:清空输入的字符,有以下几种模式
UITextFieldViewModeAlways,不为空,获得焦点与没有获得焦点都显示清空按钮
UITextFieldViewModeNever,不显示清空按钮
UITextFieldViewModeWhileEditing,不为空,且在编辑状态时(及获得焦点)显示清空按钮
UITextFieldViewModeUnlessEditing, 不为空,且不在编译状态时(焦点不在输入框上)显示清空按钮 扩展:关于键盘类型(UITextField.keyboardType),UITextField.enablesReturnKeyAutomatically = YES当UITextField不为空时高亮,[UITextField ResignFirstResponder]关闭键盘

2:绘画一条下划线

通过一个视图,定义其位置跟背景就可以,下面代码仅供参考
self.backgroundView = nil;
self.backgroundColor = [UIColor clearColor];
UIView* _lineView = [[UIView alloc] initWithFrame:CGRectMake(kInput_OnlyText_Cell_LeftPading, 43.5, kScreen_Width-*kInput_OnlyText_Cell_LeftPading, 0.5)];
_lineView.backgroundColor = [UIColor colorWithHexString:@"0xaebdc9"];
[self.contentView addSubview:_lineView];

3:表格一些设置

   self.myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;//不加换行线
self.myTableView.backgroundColor = [UIColor colorWithHexString:@"0xfafafa"];
UIView *upBgView = [[UIView alloc] initWithFrame:self.view.bounds];
upBgView.backgroundColor =[UIColor colorWithHexString:@"0x29333f"];
[upBgView setY:-CGRectGetHeight(upBgView.bounds)];
[self.myTableView addSubview:upBgView]; self.myTableView.contentInset = UIEdgeInsetsMake(-kHigher_iOS_6_1_DIS(), , , );//缩进
self.myTableView.tableFooterView=[self customFooterView];//方法 返回view,看第五点
self.myTableView.tableHeaderView = [self customHeaderView]; 扩展: UITableViewCellSelectionStyle选择行的样式UITableViewCellSelectionStyleNone,UITableViewCellSelectionStyleBlue,UITableViewCellSelectionStyleGray
如果要自定义cell的背景色
cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:cell.frame]];
cell.selectedBackgroundView.backgroundColor = [UIColor redColor]; 改变换行线颜色 tableView.separatorColor = [UIColor blueColor];

4:可以定义表头跟底部视图(代码接上面)

- (UIView *)customHeaderView{
UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(, , kScreen_Width, )];
UIImageView *loginLogo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_logo"]];
CGFloat loginLogoHeight = CGRectGetHeight(loginLogo.bounds)*kScreen_Width/CGRectGetWidth(loginLogo.bounds);
if (loginLogoHeight > ) {
[headerV setHeight:loginLogoHeight];
}
loginLogo.frame = CGRectMake(, , kScreen_Width, loginLogoHeight);
[headerV addSubview:loginLogo]; return headerV;
}
- (UIView *)customFooterView{
UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(, , kScreen_Width, )];
_loginBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:@"登录" andFrame:CGRectMake(, kScreen_Width > ? : , kScreen_Width-*, ) target:self action:@selector(sendLogin)];
[footerV addSubview:_loginBtn];
return footerV;
}

5:隐藏本页的导航栏

- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController setNavigationBarHidden:YES]; }

6:UIEdgeInsets

typedef struct {
    CGFloat top, left, bottom, right;
} UIEdgeInsets; 主要是理解下UIEdgeInsets在IOS UI里的意义.
UIEdgeInsets==>这货其实就是插入间隔区域。正值表示间隔值,负值表示超出参照物的距离。 1     UIImage* img=[UIImage imageNamed:@"2.png"];//原图
2     UIEdgeInsets edge=UIEdgeInsetsMake(0, 10, 0,10);
3     //UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
4     //UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图
5    img= [img resizableImageWithCapInsets:edge resizingMode:UIImageResizingModeStretch];
6     self.imageView.image=img;

7:活动指示器UIActivityIndicatorView

可以告知用户有一个操作正在进行中。派生自UIView,所以他是视图,也可以附着在视图上。
UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView alloc ]
initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)];
设置风格:
activityIndicatorView.activityIndicatorViewStyle= UIActivityIndicatorViewStyleGray;
UIActivityIndicatorViewStyleWhiteLarge 大型白色指示器
UIActivityIndicatorViewStyleWhite 标准尺寸白色指示器
UIActivityIndicatorViewStyleGray 灰色指示器,用于白色背景
如果希望指示器停止后自动隐藏,那么要设置hidesWhenStoped属性为YES。默认是YES。设置为NO停止后指示器仍会显示。activityIndicatorView.hidesWhenStoped = NO;
显示:可以将它附着在任何视图上,比如表格单元、或者视图,[ self.view addSubview:activityIndicatorView ] 启动和停止
[ activityIndicatorView startAnimating ];//启动
[ activityIndicatorView stopAnimating ];//停止 判断是否处于运动状态isAnimating
[activityIndicatorView isAnimating] 下面为一段实例代码
_activityIndicator = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:
UIActivityIndicatorViewStyleGray];
CGSize captchaViewSize = _captchaView.bounds.size;
_activityIndicator.hidesWhenStopped = YES;
[_activityIndicator setCenter:CGPointMake(captchaViewSize.width/, captchaViewSize.height/)];
[_captchaView addSubview:_activityIndicator];

8:使用NSUserDefaults保存用户名和密码

创建一个user defaults方法有多个,最简单得快速创建方法:
NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults]; 添加数据到 user defaults:
[accountDefaults setObject:nameField.text forKey:UserDefaultNameKey]; 也可以添加基本数据类型int, float, bool等,有相应得方法
[accountDefaults setBool:YES forKey:UserDefaultBoolKey]; 从user defaults中获取数据:
[accountDefaults objectForKey:NCUserDefaultNameKey]  
[accountDefaults boolForKey: UserDefaultBoolKey]; 注意:UserDefaults不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。可以通过调用synchornize方法强制写入。[[NSUserDefaults standardUserDefaults] synchronize]; 代码片段:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithBool:YES] forKey:kLoginStatus];
[defaults setObject:loginData forKey:kLoginUserDict];
[defaults synchronize];

IOS客户端Coding项目记录(一)的更多相关文章

  1. IOS客户端Coding项目记录导航

    IOS客户端Coding项目记录(一) a:UITextField设置出现清除按键 b:绘画一条下划线  表格一些设置 c:可以定义表头跟底部视图(代码接上面) d:隐藏本页的导航栏 e:UIEdge ...

  2. IOS客户端Coding项目记录(四)

    1:打开Xcode,然后闪退,报加载某库出现异常 如/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc ...

  3. IOS客户端Coding项目记录(五)

    1:统一修改导航栏的样式,在 AppDelegate.m中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWit ...

  4. IOS客户端Coding项目记录(六)

    1:获取某一行的坐标 UITableViewCell *cell = [_myTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow: ...

  5. IOS客户端Coding项目记录(三)

    18:图片视图几种填充样式 _imgView.contentMode = UIViewContentModeScaleAspectFill; 如下: typedef NS_ENUM(NSInteger ...

  6. IOS客户端Coding项目记录(二)

    9:第三方插件整理 JSON转实体:jsonModel https://github.com/icanzilb/JSONModel/ 美化按键:BButton https://github.com/m ...

  7. 开源项目在真机调试(Coding iOS 客户端为例)

    一.前言 iOS 13学习系列:如何在github下载开源项目到本地(Coding iOS 客户端为例)已经把 Coding iOS 客户端源码下载到本地. 但项目进行真机调试遇到很多问题. 二.问题 ...

  8. 如何在github下载开源项目到本地(Coding iOS 客户端为例)

    一.前言 以 Coding iOS 客户端 为例讲解如何在github下载开源项目到本地 github地址:https://github.com/Coding/Coding-iOS 二.分析 根据项目 ...

  9. “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX

    "快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - ...

随机推荐

  1. 鬼谷子的钱袋 2006HNOI

    题目描述 Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会 ...

  2. [转载]C++内存管理

    [导语] 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不 ...

  3. SQL Server 事务复制爬坑记

    SQL Server 复制功能折腾了好几天了,现特将其配置过程以及其间遇到的问题记录下来,以备日后查阅.同时,也让“同道”同学们少走不必要的弯路.如果有不对之处,欢迎大家指正,欢迎沟通交流. 一.复制 ...

  4. 九月回顾 这篇文章和ACM毫无关系= =

    其实不只是九月的回顾吧,我大概想把暑假到现在10.01发生的啥事儿都说下吧~ 嗯,我是一个比较沙茶的人,不过运气比较好吧. 高中啊,这个谈起来话就长了,在校什么风采之星大赛上,我认识了个妹子,当时感觉 ...

  5. XY8782S00 BL-W8782 BL-R8782MS1 SDIO接口 高性能、低功耗、体积小 wifi无线模块

    1.产品简介 BL-8782是一款高性能.低功耗.体积小SDIO接口无线模组,符合IEEE802.11N标准,并向下兼容IEEE802.11B/G标准,支持IEEE 802.11i安全协议,以及IEE ...

  6. Mosfet Bi-Directional Switch NMOS PMOS Back to Back

    http://www.electronic-products-design.com/geek-area/electronics/mosfets/using-mosfets-as-general-swi ...

  7. Struts2 include(包含)多个配置文件

    Struts 2自带有“包含文件”功能,包含多个Struts配置文件合并为一个单元. 单个Struts配置文件 让我们来看看一个糟糕的 Struts 2 配置示例. struts.xml <?x ...

  8. Unity 网络请求(1)

    using UnityEngine; using System.Collections; public class Scene1 : MonoBehaviour { //下载图片的容器 private ...

  9. EF6 MVC5译文

    Contoso大学的Web应用程序 你在本教程中将建立一个简单的大学网站. 用户可以查看和更新学生信息,当然也包括教师的.下列图表是你将创建的应用程序截屏. 本网站的UI样式来源于内置的模板,所以教程 ...

  10. Andorid之Annotation框架初使用(一)

    1. 设置Activity的布局 @EActivity(R.layout.main) public class MyActivity extends Activity {} 注: 此时在Android ...