Xcode原生设置此属性但单声道触摸不可能!我该如何设置这个属性
button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = UILineBreakModeClip;
TitleLabel属性是单声道触摸的只读属性。并覆盖此属性不起作用
答案 0 :(得分:1)
TitleLabel
只有一个吸气剂的事实是正常的。在ObjC中也是如此,例如来自Apple documentation。
@property(nonatomic, readonly, retain) UILabel *titleLabel
然而,这不是您的代码中的问题(对于Xamarin.iOS或ObjC而言),因为您不设置新的UILabel
。代码正在做的是在标签上设置属性。
我认为只读是因为您无法将新 UILabel
实例设置为UIButton
,但修改现有实例。因此,以下C#代码将起作用(就像您的原始ObjC一样):
button.TitleLabel.NumberOfLines = 1;
button.TitleLabel.AdjustsFontSizeToFitWidth = true;
button.TitleLabel.LineBreakMode = UILineBreakMode.Clip;
答案 1 :(得分:0)
您正在执行的操作无效,因为您需要指定按钮的状态。该按钮可以针对不同的状态具有不同的标题。
这样称呼:
[button setTitle:@"Edit" forState:UIControlStateNormal]
之后,如果您需要指定其他属性,可以这样做:
-setTitleColor:forState
答案 2 :(得分:-1)
尝试这个
[back.titleLabel setAdjustsFontSizeToFitWidth:YES];
[back.titleLabel setNumberOfLines:1];
[back.titleLabel setLineBreakMode:NSLineBreakByCharWrapping];
您可以使用按钮设置方法更改按钮标题元素。