计算
控件介绍
文本输入
- 设置键盘格式为NumberPad
 - 字符串与数字转换方法 NSInteger num2 =[str2 integerValue];
 
弹窗控件
- UIAlertController 新版本弹窗
 
 UIAlertController *alert =    [UIAlertController alertControllerWithTitle:@"error" message:@"输入有误" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *action =[UIAlertAction  actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            NSLog(@"取消");       
        }];
        [alert addAction:action];
        [self presentViewController:alert animated:YES completion:nil];
 
- UIAlertView IOS9之前版本
 
   UIAlertView errView = [[UIAlertView alloc] initWithTitle:@"error" message:message delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
    [errView show]
 
实现逻辑
  NSLog(@" 点击按钮");
    //达到数字
    NSString *str1=  self.Num1Text.text;
    NSString *str2 = self.Num2Text.text;
    //转为数字
    NSInteger num1 =[str1 integerValue];
    NSInteger num2 =[str2 integerValue];
//校验
    if (num1 ==0 || num2 ==0){
        UIAlertController *alert =    [UIAlertController alertControllerWithTitle:@"error" message:@"输入有误" preferredStyle:UIAlertControllerStyleAlert];
        
        UIAlertAction *action =[UIAlertAction  actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            NSLog(@"取消");
            
        }];
        [alert addAction:action];
        [self presentViewController:alert animated:YES completion:nil];
        return ;
    }
    //相加
    NSInteger result =num1+num2;
    //展示结果
    self.ResultLabel.text =[NSString stringWithFormat:@"%zd",result];
 
切换 主题
使用控件
- UISwitch 开关组件
 - UISegmentedControl多选框
 
基本用法
-addTarget绑定点击或者切换事件
[sc addTarget:self action:@selector(changeThemeBystring:) forControlEvents:UIControlEventValueChanged];
 
代码实现
-(void) loadTopView{
     
    //添加文本
    UILabel *lb=[[UILabel alloc] init];
    [lb setText:@"更换主题"];
    [lb setFrame:CGRectMake(5, 0, 400, 40)];
     [self.topView addSubview:lb];
    //开关
    UISwitch *sw =[[UISwitch alloc] init];
    [sw setFrame:CGRectMake(200, 0, 200, 40)];
    [sw addTarget:self action:@selector(changeTheme:) forControlEvents:UIControlEventTouchUpInside];
    
    [self.topView addSubview:sw];
    
    
    //多选框
    UISegmentedControl *sc =[[UISegmentedControl alloc] initWithItems:@[@"yellow",@"red",@"green"]] ;
    [sc setFrame:CGRectMake(5, 55, 300, 40)];
    [sc addTarget:self action:@selector(changeThemeBystring:) forControlEvents:UIControlEventValueChanged];
    [self.topView addSubview: sc];
    
    //控件位置
    [self.topView  setCenter:CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2) ];
}
#pragma mark 更换主题
- (void)changeTheme:(UISwitch *)sw{
    if(sw.isOn){
        self.view.backgroundColor= [UIColor whiteColor];
    }else{
        self.view.backgroundColor =[UIColor darkGrayColor];
    }
}
- (void)changeThemeBystring:(UISegmentedControl  *)sg{
    NSLog(@"%@",sg);
    switch  (sg.selectedSegmentIndex){
        case 0:            
            [self changeThemeBycolor:[UIColor yellowColor]];
            break;
        case 1:
            [self changeThemeBycolor:[UIColor redColor]];
            break;
        case 2:
            [self changeThemeBycolor:[UIColor greenColor]];
            break;          
    }
}
 
##效果展示
 


















