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

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

 
 
我动态的创建一个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 
};  

转载于:https://www.cnblogs.com/omelas/p/3261780.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值