Как предотвратить прерывание UILabel с помощью «...» - PullRequest
5 голосов
/ 29 апреля 2011

Мне было интересно, есть ли какой-нибудь способ не дать UILabel обрезаться с помощью '...'?У меня есть CGRect, который имеет 55 по ширине и 20 по высоте, и я хотел бы, чтобы он просто обрезался после 55 (или обрезал содержимое), не указывая с помощью «...», что есть еще.

        UILabel *btnTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 55, 20)];
    btnTitle.text = labelMe;
    btnTitle.textColor = [UIColor whiteColor];
    btnTitle.backgroundColor = [UIColor clearColor];
    btnTitle.transform = CGAffineTransformMakeRotation( ( 90 * M_PI ) / 180 );

Я добился того, что хотел (то есть отсечения), поместив UILabel (с увеличенной шириной, т.е. 100 x 20) в UIView (55 x 20) и установил для clipsToBounds значение YES, в результате чего я не смог щелкнуть мышью.кнопки больше - потому что я использовал ярлык для ярлыка кнопки.UIView, содержащий ярлык, скрывал мои кнопки ...

Есть ли способ обойти это без использования UIView, чтобы обрезать содержимое моей UILabel?

Ответы [ 4 ]

9 голосов
/ 29 апреля 2011

Попробуйте:

label.lineBreakMode = NSLineBreakByClipping;

Для получения дополнительной информации см. Справочник по классам UILabel

Надеюсь, это поможет

1 голос
/ 19 сентября 2018

Swift4 версия ответа Оле Бегеманна / Эддице:

label.linebreakMode = NSLineBreakMode.byClipping
1 голос
/ 29 апреля 2011

Вы можете указать вашему представлению, которое содержит ваш ярлык, игнорировать прикосновения и отправить их следующему доступному респонденту, чтобы сделать это, просто добавив этот метод в ваш файл view.m

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
    return NO;
}
1 голос
/ 29 апреля 2011

Используйте UILineBreakModeClip или одну из других опций. Установите его с помощью свойства UILabel lineBreakMode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...