2010-05-08 24 views
6

Tôi có mã sau đây.Hình ảnh và khung tùy chỉnh của UIButton

UIImage *cancelImg = [UIImage imageNamed:@"cancel.jpeg"]; 
    UIButton *btnCancel = [UIButton buttonWithType:UIButtonTypeCustom]; 
    btnCancel.userInteractionEnabled = YES; 
    [btnCancel setFrame:CGRectMake(0.0,0.0, 28.0, 28.0)]; 
    [btnCancel setImage:cancelImg forState:UIControlStateNormal]; 
    cell.accessoryView = btnCancel; 

cancel.jpeg hiện là lớn hơn 28 x 28 và nó thực sự 100 x 100.

Tại sao nút hiển thị 100 x 100 kích thước của hình ảnh khi tôi đã thiết lập kích thước của UIButton 28 x 28?

+0

Tôi đã phải đổi kích thước hình ảnh thành 28 x 28. Tôi chỉ nghĩ rằng khung của UIButton sẽ nhồi nhét hình ảnh 100 x 100 lên 28 x 28. Không đoán. –

Trả lời

13

Nút image của nút sẽ không được thay đổi kích thước. Đặt làm backgroundImage nếu bạn cần thay đổi kích thước.

[btnCancel setBackgroundImage:cancelImg forState:UIControlStateNormal]; 
+0

câu trả lời rất hữu ích. – pmk

3

Hành vi này phải thay đổi vì mã trên tạo ra nút thu nhỏ trên iOS 4.2.

+0

Dang. Tôi thực sự muốn có hành vi từ bài đăng gốc. Cảm ơn bạn đã đăng bài này. – AndrewKS

0

Tôi đã thử nghiệm trong iOS 5 với các nút tùy chỉnh tự động hóa khi định hướng thiết bị thay đổi. Tôi đặt cả backgroundImage và một hình ảnh, với các giới hạn ban đầu giống như nút, và những gì tôi thấy là backgroundImage thay đổi kích thước và hình ảnh không, nhưng vẫn được đặt ở giữa khung của nút.

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