博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS学习过程中遇到的一些有用的小功能(8/13更新)
阅读量:5901 次
发布时间:2019-06-19

本文共 2372 字,大约阅读时间需要 7 分钟。

这些是我在目前学习UI过程中遇到的一些感觉以后开发会用得比较多的功能。

先把这些收录进来,在接下来的学习过程中如果发现还有用的功能会继续更新下来

因为还是新手,如果有哪些方面有问题请留言告诉我,我会改正

1、

//点击键盘上return键后结束编辑,收回底键盘

在.m文件里复写以下方法(要先在头文件里引入协议:UITextFieldDelegate)

- (BOOL)textFieldShouldReturn:(UITextField *)textField{    [textField resignFirstResponder]        //结束编辑,收回底键盘    return YES;}

2、

//点击除了输入框外的部分结束编辑,收回底键盘方法

textfiled.delegate = self;

(1)、先定义个UIControl,大小为整个屏幕(或者一个大点的屏幕)

(2)、将UIControl放在输入框的下面(用insertSubview:belowSubview)

(3)、给UIControl添加触发事件

(4)、在事件方法引用 [(UITextField *) resignFirstResponder];

3、

//弹出底键盘时,原本位于底键盘位置的按钮或者其他view上移

先来看看原来的效果:

(1)、订阅键盘升起的系统通知:

[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardShow)                           name:UIKeyboardWillShowNotification object:nil];

(2)、实现keyboardShow方法,将按钮上移(可添加动画)

-(void)keyboardShow{    [UIView animateWithDuration:0.5 animations:^{        textfield1.frame = CGRectMake(10, 100, 340, 250);    //缩短textfield的高度        btn.frame = CGRectMake(10, 370, 355, 30);            //将button上移    } completion:^(BOOL finished) {            }];}

(3)、至此,完成了上移的步骤,接下来,要完成取消输入时,下移的步骤

 

(4)、同上,订阅键盘下降时的系统通知

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardHide) name:UIKeyboardWillHideNotification object:nil];

(5)、实现keyboardHide方法,回复原位:

-(void)keyboardHide{    [UIView animateWithDuration:0.5 animations:^{        textfield1.frame = CGRectMake(10, 100, 340, 300);    //使textfield回到原来的高度        btn.frame = CGRectMake(10, 600, 355, 30);            //使button下移    } completion:^(BOOL finished) {    }];}

效果图:

 

15/8/13

4、去掉导航栏的边界黑线

// 在viewDidload中

[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];

self.navigationController.navigationBar.shadowImage = [[UIImage alloc]init];

 

5、去掉搜索框的边界黑线

//在viewDidload

[self.textSearchBar setBackgroundImage:[[UIImage alloc]init]];

 

6、去掉搜索框的文本输入框的阴影

//再storyboard中,选中搜索框,将view的tint的颜色改为clearcolor;

 

  1. //上拉加载更多  
  2. - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{  
  3.       
  4.     [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];  
  5.     float offset=scrollView.contentOffset.y;  
  6.     float contentHeight=scrollView.contentSize.height;  
  7.     float sub=contentHeight-offset;  
  8.     if ((scrollView.height-sub)>20) {//如果上拉距离超过20p,则加载更多数据  
  9.         //[self loadMoreData];//此处在view底部加载更多数据  
  10.     }  
  11. }  

转载于:https://www.cnblogs.com/durwards/p/4519141.html

你可能感兴趣的文章
Can't get Kerberos realm
查看>>
正则表达式 学习笔记1.1
查看>>
通过案例学调优之--AWR BaseLine管理
查看>>
如何使用MySQL提升权限
查看>>
keepalived 原理,安装,配置
查看>>
乐在其中设计模式(C#) - 单例模式(Singleton Pattern)
查看>>
AssetBundle进阶内存优化(Unity 4.x)
查看>>
Windows Home Server 简体中文版安装和配置体验 - 海量图鉴
查看>>
Silverlight & Blend动画设计系列五:故事板(StoryBoards)和动画(Animations)
查看>>
Windows 8部署系列PART3:配置WDS服务器环境
查看>>
Ruby中写一个判断成绩分类的脚本
查看>>
《从零开始学Swift》学习笔记(Day 40)——析构函数
查看>>
Exchange2003-2010迁移系列之十,Exchange证书攻略
查看>>
infortrend ESDS RAID6故障后的数据恢复方案
查看>>
extmail集群的邮件负载均衡方案 [lvs dns postfix]
查看>>
SCCM2012SP1---资产管理和远程管理
查看>>
org.springframework.util 类 Assert的使用
查看>>
java提供类与cglib包实现动态代理
查看>>
flask上传多个文件,获取input中的数组
查看>>
更改UIView的背景
查看>>