UI学习第05天

  2天的时间算是勉强的把第05天的视频给看完。

  第05天的内容主要是学习scrollView,切入正题。

1、UIScrollView的3个重要属性:

contentSize 设置屏幕滚动的范围 用CGSizeMake 赋值

contentInset 设置scroll与view的间距 用UIEdgeInsetsMake 赋值 (上下左右,四个间距)

contentOffset 设置滚动内容的偏移 用CGPointMake来设置


2、隐藏scrollView的滚动条:

纵向

self.scrollView.showsVerticalScrollIndicator = NO;

横向

self.scrollView.showsHorizontalScrollIndicator = NO;    

关闭弹簧效果 

self.scrollView.bounces = NO;


3、 contentOffset的简单应用:

- (IBAction)GoClick {

    // 记录位置

    CGPoint offset = self.scrollView.contentOffset;

#pragma mark -- record

    // X轴向左偏移

    offset.x -= 50;

    // 点击后,向左偏移并带动画方式

    [self.scrollView setContentOffset:offset animated:YES];

    

}


4、去掉状态栏:

// 去掉电池图标

- (BOOL)prefersStatusBarHidden

{

    return YES;

}


5、理解不态透彻的代码:
1.>

CGFloat h = CGRectGetMaxY(self.lastView.frame) + 10;

2.>

- (void)goNextImage

{

    // 获得当前的页码

    NSUInteger curPage = self.pageControl.currentPage;

#pragma mark -- record

    // 如果是最后一页重新播放

    if (curPage == self.pageControl.numberOfPages - 1) {

        curPage = 0;

    } else {

        curPage++;

    }


3.>

// 正在滚动的时候

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    int page = (scrollView.contentOffset.x + scrollView.frame.size.width / 2) / scrollView.frame.size.width;

    // 当前滚动的图片

    self.pageControl.currentPage = page;

    

}



6、代理复习:
  定义代理的3个步骤

//1 定义代理的协议

//2 定义代理属性

//3 调用代理的方法(通知) 给代理发送消息


  使用代理的3个步骤

//1 让某个类遵守代理协议

//2 实现代理方法

//3 设置代理属性


7、scrollView分页、pagecontrol属性:

// 设置分页

    self.scrollView.pagingEnabled = YES;

// 设置pagecontrol

    self.pageControl.numberOfPages = count; numberOfPages代表有多少页


8、定时器,消息循环:

// 封装代码

- (void)addMyTimerObj

{

    

#pragma mark -- record

    // 设置定时器

    NSTimer *timer = [NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(goNextImage) userInfo:nil repeats:YES];

    

    // 设置消息循环

    NSRunLoop *runloop = [NSRunLoop currentRunLoop];

    [runloop addTimer:timer forMode:NSRunLoopCommonModes];

    

    // myTimer赋值

    self.myTimer = timer;

    

}


9、图片连播的停止与开启:

// 点击时停止连播

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

    [self.myTimer invalidate];

}


// 松开手时继续连播

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

{   

  self.myTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(goNextImage) userInfo:nil repeats:YES];


}


10、补充:
1.>

// 取消跟用户的交互

    superView.userInteractionEnabled = NO;

// 打开跟用户的交互

    superView.userInteractionEnabled = YES;


2.>设置动画及延迟的示范代码

// 设置动画及延迟效果

    [UIView animateWithDuration:1.0 animations:^{

        tipLabel.alpha = 0.8;

    } completion:^(BOOL finished) {

        [UIView animateWithDuration:1.0 delay:3 options:UIViewAnimationOptionCurveLinear animations:^{

            tipLabel.alpha = 0;

        } completion:^(BOOL finished) {

            [tipLabel removeFromSuperview];

            

            // 打开跟用户的交互

            superView.userInteractionEnabled = YES;

        }];

    }];


3.>设置Lable常用属性示范:

 // 设置属性

    // 居中

    tipLabel.textAlignment = NSTextAlignmentCenter;

    tipLabel.backgroundColor = [UIColor grayColor];

    // 透明

    tipLabel.alpha = 0;

    // 圆角

    tipLabel.layer.cornerRadius = 5;

    tipLabel.layer.masksToBounds = YES;


4.>在main函数中实现代理方法:直接调用类方法即可。

// 实现代理方法

- (void)appInfoViewDidClickDownload:(ZGAppInfoView *)appInfoView

{

    [ZGLabel showLabel:self.view appName:appInfoView.appInfo.name];

    

    

}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值