2011-12-22 52 views
5

Tôi có một UIButton được đặt trong XIB là 147 pixel rộng và 30 cao. Nó có văn bản mặc định là 'Điều hướng'. Trong quá trình đăng ký, tôi đặt tiêu đề thành 'Toàn cầu'. Sau đó, tôi đặt nó t0 'Tóm tắt' và hiển thị này là 'Su ... ry'.Văn bản tiêu đề UIButton cắt ngắn

Tôi đã đọc rất nhiều điều để nói rằng đặt nhãn mặc định cho UIButton dài hơn văn bản dài nhất, tuy nhiên 'Tóm tắt' ngắn hơn 'Điều hướng'. Khu vực văn bản dường như co lại trong ứng dụng.

Tôi không tải lại chế độ xem. Ứng dụng của tôi chủ yếu xóa các phần tử từ một scrollview hiển thị mặc định và nạp đầy dữ liệu mới.

tôi đã được sử dụng

button.titlelabel.text = @"Summary"; 

tuy nhiên tôi đã nhận ra ngay cả khi điều này không dẫn đến việc hiển thị văn bản, vì vậy bắt đầu sử dụng

[button setTitle:@'Summary' forState:UIControlStateNormal]; 

nào làm việc mọi lúc.

Có cách nào để buộc vùng văn bản trong UIButton đặt lại văn bản được hiển thị không? Tôi không muốn tạo ra các nút trên bay, và nếu đây là một chức năng của mục tiêu-c, sau đó tôi sẽ xem xét một lỗi này.

Xin cảm ơn trước. Chris H

Trả lời

8

Nó không phải là lỗi của Objective-C. Mục tiêu-C là một ngôn ngữ lập trình. Nếu bất cứ điều gì có lỗi thì UIKit là khung giao diện người dùng của Apple cho iOS.

Vấn đề là nút của bạn sẽ không thay đổi kích thước - đó không phải là cách API cho UIButton được thiết kế. Bạn có thể giải quyết nó bằng cách tự thay đổi kích thước nút sau khi đặt tiêu đề. Bạn có thể xác định độ lớn các văn bản phải được với:

CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font]; 

Sau đó, bạn có thể sử dụng để làm cho nó lớn hơn một chút về chiều rộng và chiều cao và thiết lập frame của button đó.

+0

Xin cảm ơn, Xin lỗi, với tư cách là một người tương đối mới, tôi không thể phân biệt được giữa các thành phần khác nhau. Cảm ơn bạn đã làm rõ và giải pháp. –

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