2010-02-12 18 views
58

UISwitch'i anahtar durumları için özel grafiklerle uygulamanın bir yolu var mı? Veya başka bir alternatif olarak UISwitch işlevselliğine sahip bir UIButton?UISwitch işlevselliğine sahip iPhone UIButut

+5

, en azından birinin kopyası göndermek açıklayan bir yorum sağlamalıdır. – Jasarien

cevap

99

UIButton zaten "anahtarı" işlevselliği destekler.

"Seçili Durum Yapılandırması" için Arabirim Oluşturucusu'nda farklı bir görüntü ayarlayın ve durumunu değiştirmek için UIButton'un selected özelliğini kullanın. set,

button.selected = YES; 

bu başka düğme seçimini iptal etmek istiyorsanız: set up seçicinin içindeki touch sonra

[button setImage:[UIImage imageNamed:@"btn_graphics"] forState:UIControlStateSelected]; 

ve:

+0

Dokunarak/seçtikten sonra normale döner. IB ile yapmış olduğum şey budur. \t [favButton setImage: favOff forState: UIControlStateNormal]; \t [favButton setImage: favOn forState: UIControlStateHighlighted]; \t [favButton setImage: favOn forState: UIControlStateSelected]; \t [favButton setBackgroundColor: [UIColor clearColor]]; \t [self.view addSubview: favButton]; "SetSelected" – scud

+3

Tamam ben teşekkür – scud

+0

, aradığı özellik UISwitch güzel onun durum değişikliği canlandıran oldu. UIButton değişen durumunu nasıl canlandıracağımı merak ediyorum. Herhangi bir fikir? – radven

12

seçilen durumuna göstermek için görüntüyü ayarlayın

otherButton.selected = NO; 
7

Durumunuzu belirledikten ve bir sele ekledikten sonra, PGB ve neyin yukarıda söylediklerini inşa etmek için ctor (event method) bu kodu bu seçiciye koymak isteyeceksiniz. programlı eğimli için

- (IBAction)cost:(id)sender 
{ 
    //Toggle current state and save 
    self.buttonTest.selected = !self.buttonTest.selected; 

    /** 
    The rest of your method goes here. 
    */ 
} 
3

: tam bir tekrarı olarak bu soruyu kapatmak için oy Kim

-(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]; 
}