Autoresizingmask не работает для выравнивания LAbels на ротации - PullRequest
0 голосов
/ 19 октября 2011

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

когда я поворачиваю его в альбомную ориентацию, положение меток должно быть изменено, так как много места останется пустым с правой стороны .. поэтому я пытаюсь использовать маску с автоматическим изменением размера, но она не работает, поэтому, пожалуйста, предложите, что я должен сделайте так, чтобы рамка метки изменилась и поместилась в правильном положении, когда я перехожу в альбомную ориентацию. Пожалуйста, предоставьте мне пример кода. Используемый код приведен ниже.

{
[self.view addSubview:[self createLabel:CGRectMake(450,140,60,20):@"Ratings:"]];  
[self.view addSubview:[self createLabel:CGRectMake(450,170,60,20):@"Reviews:"]];  
[self.view addSubview:[self createLabel:CGRectMake(50,170,50,20):@"Hours:"]];  
[self.view addSubview:[self createLabel:CGRectMake(50,200,50,20):@"Phone:"]];  

self.view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;
[super viewDidLoad];
}

-(UILabel*)createLabel:(CGRect)frame :(NSString*)labelTitle
{   
UILabel  *myLabel = [[UILabel alloc] initWithFrame:frame]; 

[UIFont fontWithName:@"Arial" size:13];  
myLabel.textAlignment = UITextAlignmentLeft;   
myLabel.font = [UIFont boldSystemFontOfSize:13];
myLabel.text = labelTitle;     
[myLabel autorelease];
return myLabel;
}

1 Ответ

3 голосов
/ 19 октября 2011

Вы также должны установить autoresizingMask для всего подпредставления self.view - добавьте, например, следующую строку в методе -(UILabel*)createLabel:(CGRect)frame :(NSString*)labelTitle:

myLabel.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;

или

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