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

wis*_*ndy 7 objective-c uibutton ios xcode4.6

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

我在故事板上添加了一个按钮.我在我的实现文件中创建了一个插座ViewController.m:

    //
    //  ViewController.m
    //

    #import "ViewController.h"

    @interface ViewController ()

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

    @end
Run Code Online (Sandbox Code Playgroud)

我尝试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);
    }
Run Code Online (Sandbox Code Playgroud)

当我在模拟器中运行应用程序时,alpha按钮的成功设置为0.5.但是,按钮的位置和大小不会改变.

我已经尝试了各种方法来实现它.然而似乎没有任何作用.我想知道我做错了什么.我对Objective C很新.任何帮助都将不胜感激.

mic*_*tox 18

你可能正在使用autolayout:

在此输入图像描述

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

 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;
Run Code Online (Sandbox Code Playgroud)

然后在你的代码中:

 self.widthConstraint.constant = 123;
Run Code Online (Sandbox Code Playgroud)

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