以编程方式调整iOS中的按钮大小

时间:2013-06-14 09:22:32

标签: ios objective-c uibutton xcode4.6

我正在使用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 个答案:

答案 0 :(得分:18)

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

enter image description here

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

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

然后在你的代码中:

 self.widthConstraint.constant = 123;

以及所有需要修改的约束。