7

我正在使用 XCode 4.6.1 并为 iOS 6 开发。

我在情节提要中添加了一个按钮。我在我的实现文件中创建了一个插座ViewController.m

    //
    //  ViewController.m
    //

    #import "ViewController.h"

    @interface ViewController ()

    @property (weak, nonatomic) IBOutlet UIButton *b1;

    @end

我尝试b1按如下方式更改 button 的属性(在同一个文件中:)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很陌生。任何帮助将不胜感激。

4

1 回答 1

18

您可能正在使用自动布局:

在此处输入图像描述

使用自动布局时,您无法手动更改插座框架。您有两个选择:您可以禁用自动布局(然后您的代码应该可以工作),或者为您的约束创建出口,然后以编程方式修改约束:

 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;

然后在您的代码中:

 self.widthConstraint.constant = 123;

等等所有需要修改的约束。

于 2013-06-14T09:31:16.327 回答