井字游戏对我来说似乎是一个不错的运动。
我想先画井字游戏网格。
Interface Builder 没有用于绘制线条的内置类。
因此我的问题是:我可以使用哪个类以编程方式绘制网格线?
井字游戏对我来说似乎是一个不错的运动。
我想先画井字游戏网格。
Interface Builder 没有用于绘制线条的内置类。
因此我的问题是:我可以使用哪个类以编程方式绘制网格线?
以编程方式执行此操作的最简单方法是创建 UIView 的子类并覆盖drawRect()方法。
这是一个名为TTView的视图子类的示例:
#import "TTView.h"
@implementation TTView
- (void)drawRect:(CGRect)rect {
int xStart = 10, yStart = 10;
int gridSize = 300;
UIBezierPath *topPath = [UIBezierPath bezierPath];
// draw vertical lines
for(int xId=1; xId<=2; xId++) {
int x = xStart + xId * gridSize / 3;
[topPath moveToPoint:CGPointMake(x, yStart)];
[topPath addLineToPoint:CGPointMake(x, yStart+gridSize)];
}
// draw horizontal lines
for(int yId=1; yId<=2; yId++) {
int y = yStart + yId * gridSize / 3;
[topPath moveToPoint:CGPointMake(xStart, y)];
[topPath addLineToPoint:CGPointMake(xStart+gridSize, y)];
}
[[UIColor whiteColor] setStroke];
[topPath stroke];
}
@end
不要忘记创建您的视图并将其添加到您的UIViewController中,如下所示:
TTView *ttv = [[TTView alloc] initWithFrame:self.view.frame];
[self.view addSubview:ttv];
[ttv release];
iOS 中的绘图可以使用Core Graphics或Quartz 2D来完成。
Sam Soffes 将SSToolkit描述为
SSToolkit 让生活更轻松。它由我在所有应用程序中使用的各种视图控制器、视图和类别组成。随意分叉回购并使其变得更好。
他的课程之一是SSLineView来画线。我不确定它对非水平线的支持程度。这是.h和.m虽然它可能在 SSToolkit 的其余部分中具有依赖关系。
您可以创建一个 UIView 子类,然后实例化该视图的 drawRect 回调委托以执行任何所需的核心图形绘制(线条等)。
如果你想在 IB 内部做一些严格的事情,你可以使用一些像线条一样细的 UIView,并将它们的背景颜色设置为所需的线条颜色。