动态创建的控件,如何控制相对位置

动态创建的控件,如何控制相对位置   

 
 
我动态的创建一个textfield 添加到窗体中,宽度和高度都是固定不变的 
我想做成和IB里设计的一样的效果,随着窗体的高度变化,textfield的高度也变化,应该怎么做呢? 
 
这是我的代码.... 
- (void)windowDidBecomeKey:(NSNotification *)notification 

    NSTextField *text = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 140, 18)]; 
    [[window contentView] addSubview:text]; 
}
[ 此帖被evangel在2009-10-19 22:44重新编辑 ]
 
 

 
级别: 侠客
 
UID: 2209
精华: 0 
发帖: 110
威望: 915 点
贡献值: 0 点
在线时间: 298(时)
注册时间: 2009-02-15
最后登录: 2013-08-15
 
沙发 :发表于: 2009-10-17 23:10   发自: Web Page
 
 
 
 
自己找到解决方法了 
NSTextField *text = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 140, 38)];[text setAutoresizingMask:NSViewHeightSizable + NSViewWidthSizable];[[window contentView] setAutoresizesSubviews:YES];[[window contentView] addSubview:text]; 
原来这个方法是继承自NSView的,setAutoresizingMask方法里只需要传一个参数,下边这个是对应的值 
enum {   NSViewNotSizable     = 0,   NSViewMinXMargin     = 1,   NSViewWidthSizable   = 2,   NSViewMaxXMargin     = 4,   NSViewMinYMargin     = 8,   NSViewHeightSizable  = 16,   NSViewMaxYMargin     = 32}; 
 
 

 
级别: 侠客
 
UID: 2209
精华: 0 
发帖: 110
威望: 915 点
贡献值: 0 点
在线时间: 298(时)
注册时间: 2009-02-15
最后登录: 2013-08-15
 
板凳 :发表于: 2009-10-17 23:12   发自: Web Page
 
 
 
 
自己找到解决方法了 
 
NSTextField *text = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 140, 38)]; 
[text setAutoresizingMask:NSViewHeightSizable + NSViewWidthSizable]; 
[[window contentView] setAutoresizesSubviews:YES]; 
[[window contentView] addSubview:text]; 
 
原来这个方法是继承自NSView的,setAutoresizingMask方法里只需要传一个参数,下边这个是对应的值 
 
enum { 
   NSViewNotSizable     = 0, 
   NSViewMinXMargin     = 1, 
   NSViewWidthSizable   = 2, 
   NSViewMaxXMargin     = 4, 
   NSViewMinYMargin     = 8, 
   NSViewHeightSizable  = 16, 
   NSViewMaxYMargin     = 32 
}; 

posted on 2013-08-16 11:49  Omelas  阅读(659)  评论(0编辑  收藏  举报

导航