13.切换两个view图片的方法??
分析:普通控制器上面放了两个其他控制器的view,下面是切换着这两个控制器的方法
[self.view exchangeSubviewAtIndex:[self.view.subviews indexOfObject:VC2.view] withSubviewAtIndex:[self.view.subviews indexOfObject:VC1.view]];
小技巧:如果你把一个控制器的view添加到一个控制器的view上面,那么你还需要把这个控制器作为其子控制器
另外还可以加动画:代码如下
CATransition *animation = [CATransition animation];
//监听动画的开始和结束
animation.delegate = self;
animation.duration = 3.0;
//设置动画的快慢效果
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.type = @"cube";
//设置动画子类型
animation.subtype = kCATransitionFromTop;
//将动画添加到父试图上
[self.view.layer addAnimation:animation forKey:@"test"];
14.如何截取一个网络url字符串的一部分字符串???
- 分析:运用方法获取字符串的长度来截取其需要的部分,方法的运用以sub为主
网络字符串的截取
//抽取指定范围的字符串
NSString *string1 = @"0123456789";
NSRange range1 = NSMakeRange(1, 4);//NSMakeRange这个函数的作用是从第0位开始计算,长度为4
NSLog(@"从第0个字符开始,长度为4的字符串是:%@",[string1 substringWithRange:range1]);
NSLog(@"抽取从头开始到第4个字符:%@",[string1 substringToIndex:4]);
NSLog(@"抽取从第6个字符开始到末尾:%@",[string1 substringFromIndex:6]);
NSString *string2 = @"wo shi xiao bai zhu";
NSRange range2 = [string2 rangeOfString:@"bai"];
if (range2.length > 0) {
NSLog(@"{字符串中“bai”的位置,长度}==%@",NSStringFromRange(range2));
}
//判断在一串字符串中是否找到某个字符串
NSRange range3 = [string2 rangeOfString:@"zhu"];
if (range3.location != NSNotFound) {
NSLog(@"找到了@“zhu”这个字符串!");
}
else
NSLog(@"没找到!");
-
具体代码带变得意思
/*
2016-07-07 11:08:51.167 测试网络字符串的大小以及长度[13783:1156140] 从第0个字符开始,长度为4的字符串是:1234
2016-07-07 11:08:51.168 测试网络字符串的大小以及长度[13783:1156140] 抽取从头开始到第4个字符:0123
2016-07-07 11:08:51.168 测试网络字符串的大小以及长度[13783:1156140] 抽取从第6个字符开始到末尾:6789
2016-07-07 11:08:51.168 测试网络字符串的大小以及长度[13783:1156140] {字符串中“bai”的位置,长度}=={12, 3}
2016-07-07 11:08:51.168 测试网络字符串的大小以及长度[13783:1156140] 找到了@“zhu”这个字符串!*/
15.如何让在循环里面设置的button能够进行不同状态显示不同的背景颜色??
分析:最核心的一步是在点击button的时间里面进行所有的button设置为未选中的状态。下面是效果图:
状态的切换
-
具体的代码如下:
#import "ViewController.h" #define a 3 @interface ViewController () { NSArray *array; int margin; NSMutableArray *array1; } @property(nonatomic,strong)UIButton *button; @property(nonatomic,strong) UIView *view1; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor magentaColor]; array1 = [[NSMutableArray alloc]init]; array = @[@"一",@"二",@"三"]; margin = 50; int tag1 = 100; for (int i = 0; i < 3; i++) { self.button = [[UIButton alloc]init]; self.button.frame = CGRectMake(margin + i*(margin+(self.view.frame.size.width-(a+1)*margin)/a),300,(self.view.frame.size.width-(a+1)*margin)/a,60); self.button.tag = tag1+i; self.button.backgroundColor = [UIColor brownColor] ; [self.button setTitle:array[i] forState:UIControlStateNormal]; self.button.titleLabel.font = [UIFont systemFontOfSize:30]; [self.button setTitleColor:[UIColor redColor] forState:UIControlStateSelected]; [self.button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal]; [self.button addTarget:self action:@selector(clickbutton:) forControlEvents:UIControlEventTouchUpInside]; if (i == 0) { self.button.selected = YES; } [self.view addSubview:self.button]; [array1 addObject:self.button]; } self.view1 = [[UIView alloc]initWithFrame:CGRectMake(50, 365, (self.view.frame.size.width-(a+1)*margin)/a, 5)]; self.view1.backgroundColor = [UIColor greenColor]; [self.view addSubview:self.view1]; } -(void)clickbutton:(UIButton *)sender { for (UIButton *button2 in array1) { button2.selected = NO; button2.backgroundColor = [UIColor brownColor]; } sender.selected = YES; sender.backgroundColor = [UIColor grayColor]; [UIView animateWithDuration:0.5 animations:^{ self.view1.frame = CGRectMake(sender.frame.origin.x, 365, (self.view.frame.size.width-(a+1)*margin)/a, 5); }]; }
16.如何使父视图的透明度改变而不影响子类?
简单:一句代码
self.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.2];