Tôi muốn tạo một UIButton với kiểu UIButtonTypeCustom (cho hình dạng). Tôi muốn gán tiêu đề bằng cách sử dụng button.titleLabel vì tôi cần chỉ định phông chữ. Đoạn mã sau trông giống như nó sẽ hoạt động, nhưng không - không có nhãn xuất hiện, thời gian.iOS: UIButton titleLabel - nó có làm gì không?
UIImage *editButtonImage = [UIImage imageNamed: @"editButton.png"];
float width = editButtonImage.size.width;
float height = editButtonImage.size.height;
UIButton *editButton = [UIButton buttonWithType: UIButtonTypeCustom];
editButton.frame = CGRectMake(0, 0, width, height);
[editButton setBackgroundImage: editButtonImage forState: UIControlStateNormal];
editButton.adjustsImageWhenHighlighted = YES;
editButton.titleLabel.text = @"Edit";
editButton.titleLabel.textColor = [UIColor whiteColor];
editButton.titleLabel.textAlignment = UITextAlignmentCenter;
editButton.titleLabel.font = [UIFont fontWithName: @"Helvetica" size: 14];
[self.view addSubview: editButton];
Mọi người luôn nói sử dụng setTitle: forState: nhưng điều đó mang lại cho bạn phông chữ tôi không thích. Phương thức titleLabel KHÔNG được dùng nữa - nó sẽ hoạt động.
Tôi đã chạy vào điều này nhiều lần trước và luôn luôn chỉ làm việc xung quanh nó, nhưng tôi thực sự muốn tìm ra. Bất kỳ ý tưởng?
Vì vậy, điều ONE bạn không thể đặt bằng titleLabel là giá trị văn bản thực tế. Điều đó có vẻ hơi lạ với tôi, nhưng được rồi. – Amagrammer
Ban đầu, nó có một chút phản trực giác. Dường như, việc thiết lập thuộc tính 'text' của nhãn sẽ chỉ là một phím tắt để gọi' -setTitle: forState', nhưng nó không phải là. – LucasTizma
Tương tự như vậy, có vẻ như bạn không thể đặt thuộc tính textColor của titleLabel trực tiếp, nhưng phải sử dụng phương thức setTitleColor: forState:. Cảm ơn bạn đã đề cập đến điều này, bởi vì nó không có trong tài liệu hướng dẫn. – arlomedia