zoukankan      html  css  js  c++  java
  • 自学知识(四)

    1.解决循环引用:

    __weak __typeof(self) weakSelf = self;

     

    2.设置segmentedControl:

    1     NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"国内",@"国外",nil];
    2     _segmentedControl = [[UISegmentedControl alloc]initWithItems:segmentedArray];
    3     _segmentedControl.frame = CGRectMake(0,0,180,30);
    4     _segmentedControl.tintColor = TheThemeColor;
    5     [_segmentedControl setSelectedSegmentIndex:0];
    6     [_segmentedControl addTarget:self action:@selector(segmentedControlAction:) forControlEvents:UIControlEventValueChanged];
    7     self.navigationItem.titleView = _segmentedControl;

    3.学会使用子控制器:

    1 _chinaVC = [[PickChinaCityController alloc] init];
    2     _overseasVC = [[PickOverseasController alloc] init];
    3     
    4     [self addChildViewController:_chinaVC];
    5     [self addChildViewController:_overseasVC];

    4.设置控制器的动画:

     1 #pragma mark - 取消操作
     2 - (void)cancelAction{
     3     
     4     CATransition *animation = [CATransition animation];
     5     animation.duration = 0.5;
     6     animation.timingFunction = UIViewAnimationCurveEaseInOut;
     7     animation.type = @"pageUnCurl";
     8     animation.type = kCATransitionFade;
     9     //    animation.subtype = kCATransitionFromBottom;
    10     [self.view.window.layer addAnimation:animation forKey:nil];
    11     
    12     [self dismissViewControllerAnimated:NO completion:^{
    13         
    14     }];
    15 }

    5.给导航栏去阴影:

     1 - (void)viewWillAppear:(BOOL)animated{
     2     [super viewWillAppear:animated];
     3     
     4     if (iOS7) {
     5         self.edgesForExtendedLayout = UIRectEdgeAll;
     6         self.automaticallyAdjustsScrollViewInsets = YES;
     7         self.extendedLayoutIncludesOpaqueBars = NO;
     8     }
     9     [self.navigationController.navigationBar setTranslucent:YES];
    10 
    11     //为什么要加这个呢,shadowImage 是在ios6.0以后才可用的。但是发现5.0也可以用。不过如果你不判断有没有这个方法,
    12     //而直接去调用可能会crash,所以判断下。作用:如果你设置了上面那句话,你会发现是透明了。但是会有一个阴影在,下面的方法就是去阴影
    13     if ([self.navigationController.navigationBar respondsToSelector:@selector(shadowImage)])
    14     {
    15         [self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];
    16     }
    17     //以上面4句是必须的,但是习惯还是加了下面这句话
    18     [self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
    19 
    20 }
  • 相关阅读:
    unexpected inconsistency;run fsck manually esxi断电后虚拟机启动故障
    centos 安装mysql 5.7
    centos 7 卸载mysql
    centos7 在线安装mysql5.6,客户端远程连接mysql
    ubuntu 14.04配置ip和dns
    centos7 上搭建mqtt服务
    windows eclipse IDE打开当前类所在文件路径
    git 在非空文件夹clone新项目
    eclipse中java build path下 allow output folders for source folders 无法勾选,该如何解决 eclipse中java build path下 allow output folders for source folders 无法勾选,
    Eclipse Kepler中配置JadClipse
  • 原文地址:https://www.cnblogs.com/pengsi/p/5349876.html
Copyright © 2011-2022 走看看