2013-08-09 5 views
1

Xcode는 기본적으로이 속성을 설정하지만 모노 터치는 불가능합니다! 이 속성을 어떻게 설정할 수 있습니까?UIButton TitleLabel Element를 어떻게 변경할 수 있습니까?

button.titleLabel.numberOfLines = 1; 
button.titleLabel.adjustsFontSizeToFitWidth = YES; 
button.titleLabel.lineBreakMode = UILineBreakModeClip; 

TitleLabel 속성은 모노 터치에서 읽기 전용 속성입니다. 이 속성은

답변

-1

이 하나

[back.titleLabel setAdjustsFontSizeToFitWidth:YES]; 
    [back.titleLabel setNumberOfLines:1]; 
    [back.titleLabel setLineBreakMode:NSLineBreakByCharWrapping]; 

는 단추 세트 방법을 사용하여 버튼 제목 요소를 변경할 수 있습니다 시도 작동하지 않습니다보다 우선합니다.

0

단추의 상태를 지정해야하므로 수행중인 작업이 작동하지 않습니다. 단추는 여러 상태에 대해 서로 다른 제목을 가질 수 있습니다. 그래서 같은

전화를 : 그 후

[button setTitle:@"Edit" forState:UIControlStateNormal] 

다른 속성을 지정해야하는 경우가과 같이 그것을 할 수 있습니다 : 그것은 여기에 설명되어 있습니다

-setTitleColor:forState 

: apple reference for UIButton titleLabel

+0

문제가 엑스 코드와 목적 C로하지 않습니다. 완벽하게 작동하지만 C#으로 모노 터치는 작동하지 않습니다. –

1

실제로 TitleLabel에는 getter 만있는 것이 정상입니다. ObjC에서 동일합니다 (예 : Apple documentation에서.

@property(nonatomic, readonly, retain) UILabel *titleLabel 

그러나 그 새 UILabel 설정 하지 때문에 (중 Xamarin.iOS 또는 ObjC에 대한) 코드에서 문제가 아니다. 코드에서 수행하는 작업은 레이블에서 속성을 설정하는 것입니다.

IOW 당신이 UIButtonUILabel 예를 설정할 수 있기 때문에 읽기 전용을하지만 그것은 기존 인스턴스를 수정 괜찮아요. 그래서 다음 C# 코드는 (원래 ObjC가하는 것처럼) 작동합니다

button.TitleLabel.NumberOfLines = 1; 
button.TitleLabel.AdjustsFontSizeToFitWidth = true; 
button.TitleLabel.LineBreakMode = UILineBreakMode.Clip; 
관련 문제