2013-01-21 35 views
5

Làm cách nào để hiển thị trạng thái đã chọn cho UIButton khi nhấn?UIButton hiển thị trạng thái đã chọn trên tap

Tôi muốn nó để khi mọi người chạm vào nút này, nó sẽ hiển thị trạng thái được chọn với con trỏ mà tôi có?

Hiện tại, họ phải giữ nút để xem di chuột.

[t1 setBackgroundImage: [UIImage imageNamed: [NSString stringWithFormat: @"hover.png"]] forState:UIControlStateSelected]; 

Tôi cũng muốn hiển thị hình ảnh di chuột trên vòi nước.

Trả lời

0

Bạn cần phải thiết lập trạng thái lựa chọn cho các nút

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button setImage:[UIImage imageNamed:@"hover.png"] forState:UIControlStateSelected]; 

Để hiển thị một hình ảnh hút bụi trong khi nút được nhấn bạn cần phải thiết lập các tài sản nhà nước để UIControlStateHighlighted

+0

Tôi đã làm nhưng không hiển thị khi nút được nhấn. – Jasmine

+0

Đặt trạng thái trên nút thành 'UIControlStateHighlighted' không thay đổi trạng thái của nút khi đang được nhấn? –

+0

Không, nó không làm nổi bật khi chạm vào nhưng khi nhấn nó. – Jasmine

1

tôi đã cùng một vấn đề - nút của tôi đã được đánh dấu khi nhấn (nhấn giữ) và không phải - khi chỉ cần nhấn nhẹ. Đây là mã của tôi:

btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     UIImage *image =[UIImage imageNamed:@"btn"]; 
     UIImage *imageSelected =[UIImage imageNamed:@"btn_tap"]; 
     [btn setBackgroundImage:transImage forState:UIControlStateNormal]; 
     [btn setBackgroundImage:imageSelected forState:UIControlStateHighlighted]; 
    [btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside]; 

-(void)btnPressedWithDelay{ 
    //your code for btn action 
} 

- (void) action:(UIButton *)sender{ 
    [self performSelector:@selector(btnPressedWithDelay) withObject:nil afterDelay:0.1]; 
} 

Nó có phù hợp với bạn không?

Các vấn đề liên quan