iOS: UIButton titleLabel - он вообще что-нибудь делает?

Я хочу создать UIButton с типом UIButtonTypeCustom (для формы). Я хочу назначить заголовок с помощью button.titleLabel, потому что мне нужно указать шрифт. Следующий код выглядит так, как будто он должен работать, но не работает - метка не отображается, точка.

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];

Все всегда говорят использовать setTitle: forState: но это дает шрифт, который мне не нравится. Метод titleLabel НЕ является устаревшим - он должен работать.

Я сталкивался с этим несколько раз раньше и всегда просто работал над этим, но я ' Я действительно хотел бы понять это. Есть идеи?

27
задан Amagrammer 5 February 2011 в 23:37
поделиться