有没有一种方法可以为开关状态使用自定义图形来实现 UISwitch?或者作为另一种选择,一个具有 UISwitch 功能的 UIButton?
问问题
32933 次
4 回答
102
UIButton
已经支持“开关”功能。
只需在 Interface Builder 中为“Selected State Configuration”设置不同的图像,并使用 的selected
属性UIButton
来切换其状态。
于 2010-02-12T21:19:56.483 回答
13
将图像设置为在选定状态下显示:
[button setImage:[UIImage imageNamed:@"btn_graphics"] forState:UIControlStateSelected];
然后在选择器内部进行修饰,设置:
button.selected = YES;
如果要取消另一个按钮的选择,请设置:
otherButton.selected = NO;
于 2012-04-05T09:44:45.383 回答
9
为了构建上面 PGB 和 nurne 所说的内容,在设置状态并附加选择器(事件方法)之后,您需要将此代码放入该选择器中。
- (IBAction)cost:(id)sender
{
//Toggle current state and save
self.buttonTest.selected = !self.buttonTest.selected;
/**
The rest of your method goes here.
*/
}
于 2013-04-15T10:12:16.443 回答
3
对于编程倾向:
-(void) addToggleButton {
CGRect aframe = CGRectMake(0,0,100,100);
UIImage *selectedImage = [UIImage imageNamed:@"selected"];
UIImage *unselectedImage = [UIImage imageNamed:@"unselected"];
self.toggleUIButton = [[UIButton alloc] initWithFrame:aframe];
[self.toggleUIButton setImage:unselectedImage forState:UIControlStateNormal];
[self.toggleUIButton setImage:selectedImage forState:UIControlStateSelected];
[self.toggleUIButton addTarget:self
action:@selector(clickToggle:)
forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.toggleUIButton];
}
-(void) clickToggle:(id) sender {
BOOL isSelected = [(UIButton *)sender isSelected];
[(UIButton *) sender setSelected:!isSelected];
}
于 2014-02-10T14:14:12.877 回答