【问题标题】:Core Graphics drawing in iPad applicationsiPad应用程序中的Core Graphics绘图
【发布时间】:2011-12-30 07:24:30
【问题描述】:

我正在处理核心图形。我有 viewController 类和一个客观的 c 类来绘制形状。在我的视图控制器中,我有一些文本字段来输入值。根据该文本字段,我想在目标 C 类中绘制形状。为此,我想将视图控制器.m 文件中的值传递给目标 C 类.m 文件。我怎样才能做到这一点?

这是我的代码,但它不会将值传递给目标 C 类。希望你能理解我的问题。

-(void)doneEditing{
    objectiveCClass *object=[objectiveCClass alloc];
    object.l=ltxt.text;
}

这是将值从 view controller.m 传递到 objectiveCClass 的代码。

- (void)drawRect:(CGRect)rect{

    float l1=[l floatValue];
    float x2=l1+150;

    CGContextRef context4= UIGraphicsGetCurrentContext();

    CGContextSetLineWidth(context4, 3.0);

    CGContextSetStrokeColorWithColor(context4, [UIColor blackColor].CGColor);


    CGContextMoveToPoint(context4, 150, 400);
    CGContextAddLineToPoint(context4,x2,400);
    CGContextStrokePath(context4);
}

这是objectiveCClass 的代码。但它不采用 l1 值。它将 l1 值设为 0。我该如何解决我的问题? 我可以用任何其他方法解决这个问题吗??

【问题讨论】:

  • 在 Objective-C 类的 alloc 之后,你没有调用 init
  • 我正在使用初始化。但它仍然没有将视图控制器类的值传递给objectiveC类。

标签: objective-c ipad core-graphics


【解决方案1】:

我相信你在 l1 更新后忘记发送 setNeedDisplay 消息了。

【讨论】:

  • 如何发送 setNeedDisplay 消息?你能解释一下吗?
  • 你有某种 UIView 放置 drawRect 。你必须写类似“[viewWithDrawRect setNeedsDisplay];”的东西在 doneEditing 结束时。
猜你喜欢
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
相关资源
最近更新 更多