iphone - 以编程方式为网格中的单元格着色

标签 iphone objective-c ios grid

<分区>

我正在开发 iPhone 应用程序。我想要一个由看不见的小方 block 组成的网格。

我希望能够通过代码更改这些方 block 的颜色。

我该怎么做?

附加信息:

网格是静态的(某种国际象棋网格),我需要能够更改其中给定方 block 的颜色。例如将方 block C3 的颜色更改为红色,将 E7 的颜色更改为绿色。

除了给方 block 着色之外,我不想在方 block 中放置任何内容。

最佳答案

您可以子类化 UIView,添加一些数据结构来保存单元格信息并覆盖 drawRect:方法。

类似这样的事情:

// in view

-(void)drawCellAtRow:(int)row column:(int)column 
{
     // draw a cell          
}

-(void)drawRect:(CGRect)rect
{
    // determine which cells have to be drawn for this rect
    // and draw them
}
-(void)changeCellAtRow:(int)row column:(int)column 
{
    // change cell info
    // calculate rect to update
    [self setNeedsDisplayInRect:dirtyRect];
}

// in view controller   
-(void)eventHandler
{
   [cellView changeCellAtRow:row column:column];
}

Drawing guide for iOS

关于iphone - 以编程方式为网格中的单元格着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13046542/

上一篇:iphone - 我可以对 itunes 1024 图标应用圆角和阴影吗?

下一篇:objective-c - 为什么我有这种奇怪的间距

相关文章:

iphone - 比较两个自定义单元格中 UILables 的值

iphone - NSNotification 中的文本字段未更新

ios - 更新 TableView 导致崩溃

iphone - 在 Obj-C 中,方法名称后是否可以没有最终参数?

objective-c - 无法获得管理员权限。错误域=CFErrorDomainLaunchd 代码=2 "The operation couldn’ 无法完成。 (CFErrorDomainLaunchd 错误 2。)

ios - 在 MKMapView 中显示来自 parse.com 的 GeoPoints

iphone - 为什么在保存 NSManagedObjectContext 'clean' 时出现合并错误?

ios - 如何在 ios 的标签栏 Controller 中添加搜索栏?

ios - 旧的 swift 代码不起作用(动画 UIView)

ios - 将图像存储到登录用户的 firebase