iphone target-c программно создает ярлыки - PullRequest
1 голос
/ 14 марта 2012

Я создаю метку программно с динамическим текстом, и рядом с меткой присутствует еще одно текстовое представление, которое представляет собой динамическое содержимое, а рядом с текстовым представлением есть изображение.Эти три не выровнены правильно,

_textView = [[[JSTwitterCoreTextView alloc] initWithFrame:CGRectMake(10,60,self.view.frame.size.width,130)] autorelease];
_textView.textColor=[UIColor whiteColor];
_textView.linkColor=[UIColor lightTextColor];
[self.view addSubview:_textView];
CGFloat Lsize=_textView.bounds.size.height+_textView.bounds.origin.y;
//CGFloat width = [UIScreen mainScreen].bounds.size.width - 50;
//CGFloat height = [self textHeight:text] + 10;
//CGRect frame = CGRectMake(10.0f, 10.0f, width, height);
startLine=[[UILabel alloc]initWithFrame:CGRectMake(0,Lsize, 320, 2)];
[self.view addSubview:startLine];

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Я успешно вызвал sizeToFit для объектов UILabel, а затем разместил метки. Сначала настройте метку с соответствующим содержимым и другими настройками, затем вызовите sizeToFit, а затем переместите их в соответствующие места. Например, я использую этот код для определения размера и выравнивания двух меток:

[countDescriptorLabel sizeToFit];
[countOutputLabel sizeToFit];
    [countOutputLabel setFrame:CGRectMake(countDescriptorLabel.frame.origin.x + countDescriptorLabel.frame.size.width, countOutputLabel.frame.origin.y, countOutputLabel.frame.size.width, countOutputLabel.frame.size.height)];

В зависимости от содержимого, я часто буду использовать пробел в качестве последнего символа в тексте первого ярлыка, чтобы интервалы работали правильно.

0 голосов
/ 14 марта 2012

Вы создаете UITextView и UIImageView также программно? Если это так, вам просто нужно установить для их фрейма 'x' или 'y' (в зависимости от горизонтального или вертикального выравнивания) на одно и то же значение, например:

// Vertical alignment
UILabel *label = [[UILabel alloc] initWithFrame:           CGRectMake(labelX, y, labelWidth, labelHeight)];
UITextView *text = [[UITextView alloc] initWithFrame:      CGRectMake(textX, y, textWidth, textHeight)];
UIImageView *image = [[UIImageView alloc] initWithFrame:   CGRectMake(imageX, y, imageWidth, imageHeight)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...