我正在使用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很新。任何帮助都将不胜感激。
答案 0 :(得分:18)
您可能正在使用自动布局:
使用自动布局时,无法手动更改插座框架。您有两个选择:您可以禁用自动布局(然后您的代码应该工作),或者为您的约束创建出口,然后以编程方式修改约束:
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;
然后在你的代码中:
self.widthConstraint.constant = 123;
以及所有需要修改的约束。