Изменение размера кнопки в iOS программно
Я использую XCode 4.6.1 и разрабатываю для iOS 6.
я добавил кнопку в раскадровку. Я создал выход в моем файле реализации ViewController.m
:
//
// ViewController.m
//
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *b1;
@end
Я пытаюсь изменить кнопку b1
свойства следующим образом (в этом же файле:ViewController.m
):
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.b1.alpha = 0.5;
self.b1.frame = CGRectMake(0,0,123,412);
}
когда я запускаю приложение в симуляторе,alpha
кнопки успешно установлено значение 0.5
.
Однако, положение и размер кнопки не изменение.
Я пробовал различные способы сделать это. Однако ничего не работает. Я хотел бы знать, что я делаю неправильно. Я довольно новичок в Objective C. любая помощь была бы очень признательна.
1 ответов
вы, вероятно, используете autolayout:
при использовании autolayout вы не можете вручную изменить рамки розеток. У вас есть два варианта: вы можете отключить автозапуск (тогда ваш код должен работать) или создать выходы для ваших ограничений, а затем программно изменить ограничения:
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;
а потом в коде:
self.widthConstraint.constant = 123;
и так далее со всеми ограничениями, которые должны быть изменены.