我正在使用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,123,412); }
当我在模拟器中运行应用程序时,按钮的alpha成功设置为0.5.
但是,按钮的位置和大小不会改变.
我尝试了各种方法来实现它.然而似乎没有任何作用.我想知道我做错了什么.我对Objective C很新.任何帮助都将不胜感激.
解决方法
你可能正在使用autolayout:
使用自动布局时,无法手动更改插座框架.您有两个选择:您可以禁用自动布局(然后您的代码应该工作),或者为约束创建出口,然后以编程方式修改约束:
@property (weak,nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;
然后在你的代码中:
self.widthConstraint.constant = 123;
等等,需要修改所有约束.