使用Interface Builder和代码自动调整大小?

时间:2010-08-27 05:06:01

标签: iphone orientation autosize autoresizingmask

我想在iPhone中使用自动调整大小的蒙版来调整横向和纵向模式下的视图。问题是当我从“界面”构建器应用宽度弹簧时,按钮会按比例更改其大小。但是当我按代码应用相同的弹簧时,

 [self.view setAutoresizesSubviews:YES]; 
 [testButton setAutoresizingMask:UIViewAutoresizingNone];
 [testButton setAutoresizingMask:UIViewAutoresizingFlexibleWidth];

该按钮不会显示相同的行为。

从“界面”构建器的按钮上应用自动调整大小: 原始按钮尺寸:120宽度和37高度 横向模式按钮:按比例更改大小

从代码按钮上应用自动调整大小:
原始按钮尺寸:120宽度和37高度
横向模式按钮:通过在纵向和横向模式下保持相同的左右边距来更改尺寸。

从代码中应用的蒙版似乎无法正常工作,因为从代码创建的按钮大小更大。

我的观点很复杂,这就是为什么我不想在视图上设置每个子视图的帧。

任何有同样问题的人!!!

2 个答案:

答案 0 :(得分:1)

Thnx响应的人,顺便说一下我解决了我的问题。与界面构建器的链接无关。实际上,在没有界面构建器的情况下创建视图时,如果您希望自动调整子视图的大小;您必须使用按位OR连接器将弹簧和支柱设置在一行中。我用来重新调整视图大小的代码是:

[appLogo setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin];

答案 1 :(得分:0)

检查2件事。 1. IBOutlet的连接 2.还要检查是否已创建已创建的IBOutlet视图的@property。

希望这能解决问题。