计算
控件介绍
文本输入
- 设置键盘格式为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; }}
##效果展示