Custom Views(Chapter 17 of Cocoa Programming for Mac OS X)

#import  " StretchView.h "


@implementation StretchView

-  (id)initWithFrame:(NSRect)rect
{
    
if  ( ! [super initWithFrame:rect]) 
    {
        
return  nil;
    }
    
    srandom(time(NULL));
    
    path 
=  [[NSBezierPath alloc] init];
    [path setLineWidth:
3.0 ];
    NSPoint p 
=  [self randomPoint];
    [path moveToPoint:p];
    
int  i;
    
for (i = 0 ;i < 15 ;i ++ )
    {
        p 
=  [self randomPoint];
        [path lineToPoint:p];
    }
    [path closePath];
    
return  self;
}

-  ( void )dealloc
{
    [path release];
    [super dealloc];
}

-  (NSPoint)randomPoint
{
    NSPoint result;
    NSRect r 
=  [self bounds];
    result.x 
=  r.origin.x  +  random()  %  ( int )r.size.width;
    result.y 
=  r.origin.y  +  random()  %  ( int )r.size.height;
    
return  result;
}

-  ( void )drawRect:(NSRect)dirtyRect
{
    NSRect bounds 
=  [self bounds];
    [[NSColor greenColor] 
set ];
    [NSBezierPath fillRect:bounds];
    
    [[NSColor whiteColor] 
set ];
    [path stroke];
}

@end

转载于:https://www.cnblogs.com/zhtf2014/archive/2011/02/24/1963565.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值