【iOS】暑假第二周任务总结


暑假第二周仿写了share

启动页的设置

通过使用定时器控制视图控制器的存在时间,并跳转至下一页面

[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(outStartShow) userInfo:nil repeats:NO];

登陆注册页面

  • 学习到使用传值将注册的用户名、密码传到登陆页面,再去用传到登陆页面的值进行判断等操作
  • 属性传值:正向传值
  • 协议传值:反向传值

传值方式学习了 属性传值和协议传值,具体看这篇博客 【iOS】多界面传值.

改变根视图

  • 学习了如何将当前根视图改变,将另一视图控制器赋值给当前视图
UIWindow* window = [UIApplication sharedApplication].windows[1];

window.rootViewController = tabBarController;
  • 第一行就是获取当前window的根视图
  • 第二行是将创建好的根视图赋给根视图

解决的滚动视图的一些bug

  • 在手动拖动滚动视图停止后,自动滚动会加快滚动速度(计时器把手动拖动的事件也算进去了),因此需要在手动拖动滚动视图的时候停止计时器,当拖动停止后重新启动定时器。
    用到了两个协议函数
 (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
  (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

在开始拖拽时,[_scrollViewTimer invalidate]用于停止计时器
停止拖拽时,_scrollViewTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(autoRepeat) userInfo:nil repeats:YES]重新设置计时器

  • 注:计时器一旦停止就销毁了,因此得重新设置计时器
  • 自动轮播图所在页面内还存在另一 scrollView时,在拖动另一scrollView的情况下,自动轮播图会收到影响
  • 因此要给两个scrollView分别设置tag值,在方法函数调用时,要先判定是否是我们需要的scrollView用该方法

请添加图片描述

属性textField的用法

  • 不论是写登陆注册,还是对搜索界面在输入"大白"后显示弹出界面,都少不了对textField.text的使用。
  • 在点击空白处,方法函数- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event能收起键盘

请添加图片描述

熟练掌握自定义cell

  • 慢慢学习发现,自定义cell是在写界面必不可少的。之前总是喜欢用button或者label来写界面,后来发现只要能用好UITableViewCell后,在界面排版有规律的情况下能省下不少时间,而且其复用机制能很好的减少内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值