晚上好 ,
我正在开发必须在我的 ViewController 上以精确位置和大小显示(单击按钮时)自定义容器的应用程序。
这个容器将加载 2 个复选框(我知道我可以使用 UISwitchControl 并使用 PNG 修改 2 个状态)和一个按钮“提交”。
我是 iOS 开发新手,请帮助我创建此布局(请参阅附件)以及如何在我按下提交时检查哪些复选框被选中,非常感谢示例代码。
谢谢你们 。
晚上好 ,
我正在开发必须在我的 ViewController 上以精确位置和大小显示(单击按钮时)自定义容器的应用程序。
这个容器将加载 2 个复选框(我知道我可以使用 UISwitchControl 并使用 PNG 修改 2 个状态)和一个按钮“提交”。
我是 iOS 开发新手,请帮助我创建此布局(请参阅附件)以及如何在我按下提交时检查哪些复选框被选中,非常感谢示例代码。
谢谢你们 。
您可以跟随BOOL
变量。当您单击 Item1 时,它应该是 YES,当您单击 Item2 时,它应该是 NO。遵循代码,
BOOL item1ORitem2 = YES;
UIView *containerView = [[UIView alloc] init];
[containerView setFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:containerView];
UIButton *item1btn = [UIButton buttonWithType:UIButtonTypeCustom];
[item1btn setFrame:CGRectMake(10, 20, 50, 30)];
[item1btn addTarget:self action:@selector(item1btnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:item1btn];
UIButton *item2btn = [UIButton buttonWithType:UIButtonTypeCustom];
[item2btn setFrame:CGRectMake(10, 60, 50, 30)];
[item2btn addTarget:self action:@selector(item2btnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:item2btn];
UIButton *submitBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[submitBtn setFrame:CGRectMake(10, 60, 50, 30)];
[submitBtn addTarget:self action:@selector(submitBtnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:submitBtn];
方法是,
-(void)item1btnAction
{
item1ORitem2 = YES;
}
-(void)item2btnAction
{
item1ORitem2 = NO;
}
-(void)submitBtnAction
{
NSLog(@"item1ORitem2");
}
1)在您的xib文件中,您需要拖放2个按钮并将其类型设置为自定义。
2)您应该选中和取消选中框的 2 张图像。
3)然后您需要将按钮的状态更改为正常/默认并将图像设置为checked.png(或您的图像名称)。
4)然后将状态更改为选中并将图像设置为 unchecked.png(或您未选中框图像的名称)。
所以现在你有 2 个图像 1 用于选定状态,其他用于正常状态。
5)您可以分别保留两个按钮的方法,例如:
-(IBAction)button1Pressed:(id)sender {
UIButton *btn = (UIButton *)sender;
if (btn.isSelected) {
[btn setSelected:NO];
}
else {
[btn setSelected:YES];
}
}
这将在您按下按钮时切换按钮状态。
您可以在两个按钮上调用相同的方法。
更新
6)现在您可以使用此链接在界面生成器中设置每个复选框按钮的出口: 设置出口。
7)在提交按钮方法中,您可以使用以下代码检查按钮是否被选中。假设您的复选框 uibutton ivar 是名称 check1 & check2
-(IBAction)submitPressed:(id)sender {
if (check1.isSelected) {
//Check button is unchecked
}
else {
//Check button is checked
}
if (check2.isSelected) {
//Check button is unchecked
}
else {
//Check button is checked
}
}
完毕 !!祝你好运..