UIbutton以编程方式添加旋转

时间:2014-08-07 13:07:15

标签: ios rotation uibutton

我正在为视图添加UIButton,当我旋转设备时,屏幕上会再添加一个按钮。我只需要一个按钮,我不希望第二个按钮在旋转时添加。 我尝试为该按钮设置自动调整遮罩,但它没有按预期工作。我使用了以下代码:

button = [UIButton buttonWithType:UIButtonTypeCustom];
button.backgroundColor = [UIColor lightGrayColor];
button.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin;
[button setFrame:bFrame];   
[self addSubview:button];

1 个答案:

答案 0 :(得分:0)

我只是假设您提供的代码是在更改方向时执行的。

您要做的是将按钮存储在实例变量中,并在更改方向时检查该变量是否为零。

if (!button) {
    button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.backgroundColor = [UIColor lightGrayColor];
    button.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
    UIViewAutoresizingFlexibleRightMargin |
    UIViewAutoresizingFlexibleTopMargin |
    UIViewAutoresizingFlexibleBottomMargin;
    [button setFrame:bFrame];   
    [self addSubview:button];
}

这假定变量buttonUIViewUIViewController的实例变量,而不是仅在方法范围内的变量。

关于您的autoresizingMask,请说明您希望发生的事情以及实际发生的事情,以便我们为您提供帮助。