2013-06-23 38 views
9

Tôi có vấn đề nhỏ này mà tôi không thể tìm ra. Tôi có khoảng 16 nút và chúng được kết nối như là một bộ sưu tập đầu ra cho bộ điều khiển của tôi. Và họ cũng có một phương pháp hành động mà làm cho các nút thay đổi trạng thái của họ từ mặc định để lựa chọn. Tôi đang cố gắng thay đổi tất cả các hình ảnh của nút chỉ cho trạng thái mặc định. Vì vậy, tôi chạy một vòng lặp thông qua mảng và thiết lập hình ảnh của họ cho trạng thái mặc định bằng cách sử dụng phương thức setImage: forState:. Tuy nhiên, phương pháp thay đổi hình ảnh cho tất cả các trạng thái (Trạng thái mặc định và được chọn).phương thức setStage forState đặt hình ảnh cho tất cả các trạng thái trên một nút

Đây là phương pháp setter cho bộ sưu tập cửa hàng của tôi

- (void) setCardsButton:(NSArray *)cardsButton 
{ 
    _cardsButton = cardsButton; 

    for (UIButton *button in cardsButton) { 

     [button setImage:[UIImage imageNamed:@"card.png"] forState:UIControlStateNormal]; 

    } 
    [self updateView]; 

} 

Trả lời

10

Bất kỳ thuộc tính bạn đã đặt cho "Normal" nhà nước được sử dụng cho tất cả các tiểu bang khác không rõ ràng thiết lập khác. Điều này được ghi trong tài liệu cho UIButton setImage:forState:. Nếu bạn muốn một hình ảnh khác cho các tiểu bang khác, bạn cần phải gọi số setImage:forState: cho các tiểu bang khác.

1

Nếu bạn không chỉ định hình ảnh cho một trạng thái khác, hình ảnh cho trạng thái 'bình thường' (UIControlStateNormal) sẽ được sử dụng thay thế. Vì vậy, hãy đặt rõ ràng hình ảnh bạn muốn được sử dụng cho tiểu bang UIControlStateSelected.

Nếu trạng thái 'bình thường' không được đặt thì hệ thống mặc định được sử dụng.

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