如何从iOS中的另一个ViewController调用UIView方法

时间:2013-04-30 08:52:12

标签: iphone ios objective-c uiview uiviewcontroller

我已经实现了

的写意教程
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_freehand-drawing/. 

我需要在我的View控制器中调用其- (void)drawBitmap; - (void)drawBitmapGreen;方法,以便在按钮操作上进行颜色更改。我做过类似的事情。

#import <UIKit/UIKit.h>
#import "checklistController.h"
@interface SmoothedBIView : UIView

@property(nonatomic,assign) checklistController *trnsferColor;
- (void)drawBitmapGreen;
@end

@implementation SmoothedBIView

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self drawBitmapred];
    [self drawBitmapGreen];
    [self setNeedsDisplay];
    [path removeAllPoints];
    ctr = 0;
}
- (void)drawBitmapGreen
{
    UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0.0);
    if (!incrementalImage) // first time; paint background white
    {
        UIBezierPath *rectpath = [UIBezierPath bezierPathWithRect:self.bounds];
        [[UIColor clearColor] setFill];
        [rectpath fill];
    }
    [incrementalImage drawAtPoint:CGPointZero];
    [[UIColor greenColor] setStroke];
    [path stroke];
    incrementalImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    //SmoothedBIView.trnsferColor = self;
}

...

 @interface checklistController :   UIViewController

 @property(nonatomic,strong) IBOutlet UIView *vPaintPreview; //SmoothedBIview outlet for hidden and unhidden property.
 @property(nonatomic,assign) SmoothedBIview *SBIView;
-(IBAction)editvImage;
-(IBAction)RedSketch;
-(IBAction)GreenSketch;

更新了代码

@implementation file

-(IBAction)GreenSketch
{
    SmoothedBIView *SBIview = [[SmoothedBIView alloc] init];
    [SBIview drawBitmapGreen];
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否尝试过以下操作:

-(IBAction)GreenSketch
{
    SmoothedBIView *SBview = [[SmoothedBIView alloc] init];
   [SBview drawBitmapGreen];
   [SBview setNeedsDisplay];

 }