- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有 TableView Controller ,我为所有单元格分配了颜色,但我想分别为每一行分配颜色。我的细胞原型(prototype)不是静态的如果有人能帮助我,我将不胜感激。谢谢你。 (我用的是swift)
import UIKit
class ThirdTableViewController: UITableViewController {
var dataPassed:String!
var kitap = [String]()
override func viewDidLoad() {
super.viewDidLoad()
switch dataPassed {
case "1":
kitap = [
"Yaratılış Kitabı","Mısır'dan çıkış","Levililer",
"Çölde sayım",
"Yasanın tekrarı",
"Yeşu",
"Hakimler",
"Rut",
"I.Samuel",
"II.Samuel",
"I.Krallar",
"II.Krallar",
"I.Tarihler Adem'in soyu",
"II.Tarihler",
"Ezra",
"Nehemya",
"Ester",
"Eyüp",
"Özdeyişler",
"Vaiz",
"Ezgiler ezgisi",
"Yeşaya",
"Yeremya",
"Ağıtlar",
"Hezekiel",
"Daniel",
"Hoşea",
"Yoel",
"Amos",
"Ovadya",
"Yunus Rab'den kaçıyor",
"Mika",
"Nahum",
"Habakkuk",
"Sefanya",
"Hagay",
"Zekeriya",
"Malaki"
]
case "2":
kitap = ["001 Mezmur","002 Mezmur","003 Mezmur","004 Mezmur","005 Mezmur","006 Mezmur","007 Mezmur","008 Mezmur","009 Mezmur","010 Mezmur","011 Mezmur","012 Mezmur","013 Mezmur","014 Mezmur","015 Mezmur","016 Mezmur","017 Mezmur","018 Mezmur","019 Mezmur","020 Mezmur","021 Mezmur","022 Mezmur","023 Mezmur","024 Mezmur","025 Mezmur","026 Mezmur","027 Mezmur","028 Mezmur","029 Mezmur","030 Mezmur","031 Mezmur","032 Mezmur","033 Mezmur","034 Mezmur","035 Mezmur","036 Mezmur","037 Mezmur","038 Mezmur","039 Mezmur","040 Mezmur","041 Mezmur","042 Mezmur","043 Mezmur","044 Mezmur","045 Mezmur","046 Mezmur","047 Mezmur","048 Mezmur","049 Mezmur","050 Mezmur","051 Mezmur","052 Mezmur","053 Mezmur","054 Mezmur","055 Mezmur","056 Mezmur","057 Mezmur","058 Mezmur","059 Mezmur","060 Mezmur","061 Mezmur","062 Mezmur","063 Mezmur","064 Mezmur","065 Mezmur","066 Mezmur","067 Mezmur","068 Mezmur","069 Mezmur","070 Mezmur","071 Mezmur","072 Mezmur","073 Mezmur","074 Mezmur","075 Mezmur","076 Mezmur","077 Mezmur","078 Mezmur","079 Mezmur","080 Mezmur","081 Mezmur","082 Mezmur","083 Mezmur","084 Mezmur","085 Mezmur","086 Mezmur","087 Mezmur","088 Mezmur","089 Mezmur","090 Mezmur","091 Mezmur","092 Mezmur","093 Mezmur","094 Mezmur","095 Mezmur","096 Mezmur","097 Mezmur","098 Mezmur","099 Mezmur","100 Mezmur","101 Mezmur","102 Mezmur","103 Mezmur","104 Mezmur","105 Mezmur","106 Mezmur","107 Mezmur","108 Mezmur","109 Mezmur","110 Mezmur","111 Mezmur","112 Mezmur","113 Mezmur","114 Mezmur","115 Mezmur","116 Mezmur","117 Mezmur","118 Mezmur","119 Mezmur","120 Mezmur","121 Mezmur","122 Mezmur","123 Mezmur","124 Mezmur","125 Mezmur","126 Mezmur","127 Mezmur","128 Mezmur","129 Mezmur","130 Mezmur","131 Mezmur","132 Mezmur","133 Mezmur","134 Mezmur","135 Mezmur","136 Mezmur","137 Mezmur","138 Mezmur","139 Mezmur","140 Mezmur","141 Mezmur","142 Mezmur","143 Mezmur","144 Mezmur","145 Mezmur","146 Mezmur","147 Mezmur","148 Mezmur","149 Mezmur","150 Mezmur"]
default:
kitap = ["Veri Yok"]
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return kitap.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("carCell", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel!.text = kitap[indexPath.row]
switch dataPassed {
case "1":
self.view.backgroundColor = UIColor(red: 0.3529, green: 0.7608, blue: 0.8471, alpha: 1.0)
cell.backgroundColor = UIColor(red: 0.3529, green: 0.7608, blue: 0.8471, alpha: 1.0)
cell.textLabel?.textColor = UIColor.whiteColor()
case "2":
self.view.backgroundColor = UIColor(red: 0.9882, green: 0.5804, blue: 0.0078, alpha: 1.0)
cell.backgroundColor = UIColor(red: 0.9882, green: 0.5804, blue: 0.0078, alpha: 1.0)
cell.textLabel?.textColor = UIColor.whiteColor()
default:
cell.backgroundColor = UIColor.whiteColor()
}
return cell
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier != "backbutton") {
let cell = sender as! UITableViewCell
let indexPath = self.tableView.indexPathForCell(cell)
let name = kitap[indexPath!.row]
let destination = segue.destinationViewController as! ThirdViewController
destination.firstvalue = name
}
}
}
最佳答案
您走在正确的轨道上。对于如何继续,您有几个选择。
您可以创建或获取您在 cellForRowAtIndexPath(_:)
中使用的 UIColor
数组,以设置 backgroundColor
属性每个单元格的位置取决于它的位置。在下面的代码片段中,UIColor
数组是一个名为colors
的实例变量。所以 self.colors[indexPath.row]
根据单元格的索引路径检索颜色。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("carCell", forIndexPath: indexPath)
cell.textLabel!.text = kitap[indexPath.row]
switch dataPassed {
case "1":
self.view.backgroundColor = UIColor(red: 0.3529, green: 0.7608, blue: 0.8471, alpha: 1.0)
cell.backgroundColor = self.colors[indexPath.row]
cell.textLabel?.textColor = UIColor.whiteColor()
case "2":
self.view.backgroundColor = UIColor(red: 0.9882, green: 0.5804, blue: 0.0078, alpha: 1.0)
cell.backgroundColor = self.colors[indexPath.row]
cell.textLabel?.textColor = UIColor.whiteColor()
default:
cell.backgroundColor = UIColor.whiteColor()
}
return cell
}
您的另一个选择是在 cellForRowAtIndexPath(_:)
中“即时”计算颜色。这可以通过随机数生成器来完成,但我假设您想要一个更有条理的配色方案。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("carCell", forIndexPath: indexPath)
cell.textLabel!.text = kitap[indexPath.row]
let color = UIColor.blueColor().colorWithAlphaComponent(indexPath.row % 2 == 0 ? 1.0 : 0.7)
switch dataPassed {
case "1":
self.view.backgroundColor = UIColor(red: 0.3529, green: 0.7608, blue: 0.8471, alpha: 1.0)
cell.textLabel?.textColor = UIColor.whiteColor()
case "2":
self.view.backgroundColor = UIColor(red: 0.9882, green: 0.5804, blue: 0.0078, alpha: 1.0)
cell.textLabel?.textColor = UIColor.whiteColor()
default: break
}
cell.backgroundColor = color
return cell
}
上面的代码片段将创建具有交替的蓝色和透明蓝色单元格的单元格。
请注意,第一个选项可能会执行得更好,因为它将工作从经常调用的方法 (cellForRowAtIndexPath(_:)
) 转移到很少调用的方法 (viewDidLoad( )
,例如)。
编辑
在对您的原始问题的评论中,您说您想要定义 5 种颜色并将它们分配给某些单元格。上面的选项 1 最适合这个。
在您的 ThirdTableViewController
类中,声明一个包含 UIColor
对象的数组。
let colors = [UIColor.redColor(), UIColor.blueColor(), UIColor.greenColor(), UIColor.orangeColor(), UIColor.purpleColor()]
然后,在 cellForRowAtIndexPath(_:)
中,使用它根据 indexPath
从该数组中选择一种颜色。例如,
cell.backgroundColor = self.colors[indexPath.row % self.colors.count]
// ...
return cell
关于ios - 如何在swift中为每一行分配不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388011/
我正在阅读 java swing,但在理解它时遇到问题。 Color 是一个类吗? Color[] col= {Color.RED,Color.BLUE}; 这在java中是什么意思? 最佳答案 Is
我正在研究用 python 编写的 pacman 程序。其中一个模块是处理吃 bean 游戏的图形表示。这当然是一些主机颜色。列表如下: GHOST_COLORS = [] ## establishe
本网站:http://pamplonaenglishteacher.com 源代码在这里:https://github.com/Yorkshireman/pamplona_english_teache
我最近将我的手机更新为 Android Marshmallow 并在其上运行了我现有的应用程序,但注意到颜色行为有所不同:将更改应用到 View (可绘制)的背景时,共享相同背景的所有 View (引
所有 X11/w3c 颜色代码在 Android XML 资源文件格式中是什么样的? I know this looks a tad ridiculous as a question, but giv
试图让 ffmpeg 创建音频波形,同时能够控制图像大小、颜色和幅度。我已经尝试过这个(以及许多变体),但它只是返回无与伦比的 "。 ffmpeg -i input -filter_complex "
我很好奇你是否有一些关于 R 中颜色酿造的技巧,对于许多独特的颜色,以某种方式使图表仍然好看。 我需要大量独特的颜色(至少 24 种,可能需要更多,~50 种)用于堆叠区域图(所以不是热图,渐变色不起
我看到的许多 WPF 示例和示例似乎都有硬编码的颜色。这些指南 - http://msdn.microsoft.com/en-us/library/aa350483.aspx建议不要硬编码颜色。在构建
我想更改文件夹的默认蓝色 如何设置? 最佳答案 :hi Directory guifg=#FF0000 ctermfg=red 关于Vim NERDTree 颜色,我们在Stack Overflow上
是否有关于如何将任意字符串哈希为 RGB 颜色值的最佳实践?或者更一般地说:3 个字节。 你问:我什么时候需要这个?这对我来说并不重要,但想象一下任何 GitHub 上的那些管图 network pa
我正在尝试将默认颜色设置为自定义窗口小部件。 这是有问题的代码。 class ReusableCard extends StatelessWidget { ReusableCard({this.
import javax.swing.*; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.Ta
我有一个 less 文件来定义一堆颜色/颜色。每个类名都包含相关颜色的名称,例如 .colourOrange{..} 或 .colourBorderOrange{..} 或 navLeftButtOr
我有一个RelativeLayout,我需要一个黑色背景和一个位于其中间的小图像。我使用了这段代码: 其中@drawable/bottom_box_back是: 这样我就可以将图像居中了。但背
我需要设置 浅色 的 JPanel 背景,只是为了不覆盖文本(粗体黑色)。 此刻我有这个: import java.util.Random; .... private Random random =
我正在尝试制作一个自定义文本编辑器,可以更改特定键入单词的字体和颜色。如何更改使用光标突出显示的文本的字体和/或颜色? 我还没有尝试过突出显示部分。我尝试获取整个 hEdit(HWND) 区域并更改字
我想改变我整个应用程序的颜色。 在我的 AndroidManfiest.xml 中,我有正确的代码: 在 values 文件夹中,我有 app_theme.xml: @style/MyAc
是否可以使用 android 数据绑定(bind)从 xml 中引用颜色? 这很好用: android:textColor="@{inputValue == null ? 0xFFFBC02D : 0
有没有办法在 Android 应用程序中设置“空心”颜色? 我的意思是我想要一个带有某种背景的框,而文本实际上会导致背景透明。换句话说,如果整个 View 在蓝色背景上,文本将是蓝色的,如果它是红色的
我用CGContextStrokePath画在白色背景图片中的一条直线上,描边颜色为红色,alpha为1.0画线后,为什么点不是(255, 0, 0),而是(255, 96, 96)为什么不是纯红色?
我是一名优秀的程序员,十分优秀!