gpt4 book ai didi

iphone - 在 iOS 上,为什么绘图不会出现在以下代码中?

转载 作者:行者123 更新时间:2023-11-28 19:19:15 24 4
gpt4 key购买 nike

我试图在用户在 iPad 上移动手指的位置绘制一个矩形:

ViewController 的接口(interface):

@interface ViewController : UIViewController {
NSMutableArray *paths;
}

实现:

-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

for (UITouch *touch in touches) {
CGPoint location = [touch locationInView:self.view];

CGRect aRectangle = CGRectMake(location.x, location.y, 40, 40);
UIBezierPath *path = [UIBezierPath bezierPathWithRect:aRectangle];

path = [UIBezierPath bezierPathWithOvalInRect:aRectangle];

[paths addObject:path];
}
}

- (void)drawRect:(CGRect)rect {
for (UIBezierPath *path in paths) {
[path fill];
}
}

但屏幕上不会绘制任何内容...我想也许我没有告诉 View 刷新自身并调用 drawRect,但我尝试转到 iPad 的主屏幕并重新进入应用程序还是没有显示?

(我打算使用一个点数组,但由于 CGPoint 不是一个会保留的对象,所以它不能添加到可变数组中,而且它会在之后消失局部范围结束。它怎么可能是一个点数组呢?)

最佳答案

drawRectUIView 而不是 UIViewController 的方法。您需要创建自定义 UIView 子类并覆盖其中的 drawRect,然后如果您使用 Interface Builder 将自定义 View 类绑定(bind)到 XIB/NIB 中的 View 构建您的 UI 结构。

引用iPhone: why isn't drawRect getting called?

关于iphone - 在 iOS 上,为什么绘图不会出现在以下代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10256319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com