Bin*_*Ich 13 storyboard uibutton ios
我目前陷入一个非常奇怪的问题.我使用的是iOS 6和Xcode 4.5.我有一个带有a UIViewController和a 的故事板UIButton.我UIButton对我的.h文件做了一个弱插座.
在.m文件中我想更改按钮的框架但没有任何反应.然而,我有一个UIImageView创建和连接方式,UIButton但我可以UIImageView毫无问题地改变框架.
当我这样做:
NSLog(@"%@", button)
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
<UIButton: 0xa185a40; frame = (191 330; 73 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xa185640>>
Run Code Online (Sandbox Code Playgroud)
这些是我的代码的相关部分:
-(void)viewDidLayoutSubviews{
[self addStampGrid];
}
-(void)addStampGrid {
// ...
[_button setFrame:CGRectMake(10,10,10,10)];
}
Run Code Online (Sandbox Code Playgroud)
str*_*eem 23
我使用XCode 4.5和iOS 6作为部署目标时遇到了同样的奇怪问题.我不是在使用故事板.我设法通过在Interface Builder中禁用"使用Autolayout"选项来解决它.(在文件检查器 - >接口构建器文档中.
希望这可以帮助
小智 11
您可以通过更改UIButton的图层框来更改UIButton的框架
[self.button.layer setFrame:]
Run Code Online (Sandbox Code Playgroud)
在使用它之前在类头中导入QuartzCore框架.这也适用于自动布局.
你可以用它
[_button setTranslatesAutoresizingMaskIntoConstraints:YES];
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以设置按钮的框架.
它可能会在日志中给出一些关于约束的警告,因为此属性会覆盖您在autolayout中给出的约束.
| 归档时间: |
|
| 查看次数: |
15277 次 |
| 最近记录: |