zoukankan      html  css  js  c++  java
  • UI笔记

    一个视图可以有多个子视图, 但是一个子视图只能有一个父视图, 同为子视图, 后添加的会显示在上方.

    setHidden视图隐藏属性, 默认值是NO, 隐藏父视图, 子视图会受到影响.

    clipsToBounds, 裁掉子视图超过父视图的部分.

    bounds, 是相对自己的坐标系, 修改视图的bounds自身不会发生变化, 但是会影响到子视图的变化.

    frame是参考父视图的坐标系, 修改视图的frame, 会影响到父视图坐标的位置.

    superview获得视图的父视图, subviews获得视图所有的子视图.

    removeFromSuperview把视图从父视图移除.

    NslineBreakByWordWrapping 换行模式, 默认是以单词换行.

    CGSizeMake阴影偏移量

    //将要旋转到什么方向

    - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

    {

        UIView * view = [self.view viewWithTag:101];

        //如果屏幕是横屏,让视图调整大小

        if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {

            

            view.frame = CGRectMake(20, 50, 440, 100);

        }

        else{

            //否则视图还是原来的大小

            view.frame = CGRectMake(20, 50, 280, 100);

        }

        NSLog(@"%s %d", __FUNCTION__, __LINE__);

    }

    //已经从哪个方向旋转过来

    - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

    {

        NSLog(@"%s %d", __FUNCTION__, __LINE__);

    }

    longp.view.transform = CGAffineTransformRotate(longp.view.transform, M_PI / 2);//让视图旋转90°.

     CGPoint newCenter = [pp translationInView:pp.view];

            pp.view.transform = CGAffineTransformTranslate(pp.view.transform, newCenter.x, newCenter.y);

    [pp setTranslation:CGPointZero inView:pp.view];拖拽视图

    ro.view.transform = CGAffineTransformRotate(ro.view.transform, ro.rotation);

        ro.rotation = 0.0;//旋转视图

    多态就是屏蔽子类差异话的部分, 让代码更加通用

    slider.continuous = YES;//保持动作

    UIImage * aImage = [UIImage imageNamed:@"1.png"];//这样创建的是同一个对象, 在内存里加载一次, 使用效率高, 但是会导致内存泄露, 无法及时释放,程序结束时才释放

        

        

        NSString * path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"png"];

        UIImage * image = [UIImage imageWithContentsOfFile:path];//解决方案用这样的方法创建, 根据包中图片路径创建UIImage, 是便利构造器, 能够及时释放, 创建的是不同的对象

    语法糖

    NSMutableArray * array = @[@"aaa", @"bbb", @"ccc"]; //这样出来的时候是不可变数组

        NSMutableArray * array1 = [@[@"aaa", @"bbb", @"ccc"] mutableCopy];//这样出来的数组才是可变数组

            NSNumber * num = [NSNumber numberWithFloat:5.8];

        NSNumber * num1 = @5.8; //上下等价

        

        NSArray * array3 = @[@"zhangsan", @5.8, @YES];

        

        NSMutableDictionary * dic = @{@"name": @"zhangsan", @"sex":@"boy", @"age":@18};//这样创建的字典也是不可变的, 如果想转成可变的话就要用到mutablecopy

        NSLog(@"%@", dic);

        NSString * name = [dic objectForKey:@"name"];

        NSString * name1 = dic[@"name"];//上下等价

        NSLog(@"%@", name1);

    [temView startAnimating];//当动画变的时候会停止播放, 改变之后要重新播放动画

    //scorllView.contentOffset = CGPointMake(50, 50);//内容视图相对原点视图SCROLLVIEW的偏移量,在滚动过程中,这个属性会不停的发生变化   比较重要

        //scorllView.scrollEnabled = NO;

        //scorllView.contentInset = UIEdgeInsetsMake(200, 20, 10, 20);//相对scrollView上左下右决定从哪开始显示这个区域

        //scorllView.directionalLockEnabled = YES;//在滚动的时候锁定方向, 即在滚动的时候只能沿着一个方向滚动

        //scorllView.scrollsToTop = YES;//点击状态栏的时候返回顶部, 默认值是YES

        

        //scorllView.bounces = YES;//弹跳效果, 到边界的时候会有弹跳效果, 默认是开启的

        //scorllView.pagingEnabled = YES;//翻页效果

        //scorllView.indicatorStyle = UIScrollViewIndicatorStyleDefault;//控制器的颜色

        //scorllView.showsHorizontalScrollIndicator = NO;//不显示水平方向上的滚动条

        //scorllView.showsVerticalScrollIndicator = NO;//不显示垂直方向上的滚动条

  • 相关阅读:
    国货之光业务增长背后的技术支持
    减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
    我在阿里写代码学会的六件事
    SpringCloud 应用在 Kubernetes 上的最佳实践 — 诊断(线上联调)
    视频需求超平常数 10 倍,却节省了 60% 的 IT 成本投入是一种什么样的体验?
    从单体到混乱的微服务,阿里云托管式服务网格是如何诞生的?
    阿里张磊:如何构建以应用为中心的“Kubernetes”?(内含 QA 整理)
    python之深度学习-模拟异步操作(队列)
    python之深度学习-队列处理数据(同步)
    python深度学习-tensorflow实现一个线性回归的案例
  • 原文地址:https://www.cnblogs.com/MRJ1101/p/3847549.html
Copyright © 2011-2022 走看看