如何让TABLE VIEW中的CELL点击时不显示蓝色背景?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让TABLE VIEW中的CELL点击时不显示蓝色背景?相关的知识,希望对你有一定的参考价值。

我是这样写的:- (void)viewDidLoad…… [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; [self.tableView setSeparatorColor:[UIColor clearColor]]; [self.tableView setBackgroundView:nil];…… - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath…… UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:TableSampleIdentifier]; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.contentView.backgroundColor = UIColor.clearColor; cell.backgroundColor = UIColor.clearColor;……程序运行后,点击CELL会出现蓝色背景。但是奇怪的是我滚动列表后再点击,蓝色背景就不会出现。请问这个问题该如何解决?

参考技术A 设置成UITableViewCellSelectionStyleNone就不会有蓝色背景了吧 参考技术B 实现tableCellHighlight() 和 tableCellUnhighlight()

Table Cell 中的 UIButton 不会与 Swift 中的 View Controller 保持一致

【中文标题】Table Cell 中的 UIButton 不会与 Swift 中的 View Controller 保持一致【英文标题】:UIButton inside Table Cell doesn't segue to a View Controller in Swift 【发布时间】:2016-02-24 18:45:48 【问题描述】:

我有一个问题,我无法在任何地方解决。我有一个视图控制器,里面有一个表格视图。这个表视图显示了一些数据,并有一个按钮,可以通过该行的某些数据移动到另一个视图控制器到按钮。但不幸的是,我什至无法转到另一个视图控制器。已经尝试仅使用情节提要,并通过协议/委托以编程方式。 有人能帮我吗? Storyboard

遵循一些代码: func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 返回 NumberOfRows

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    var Cont = 0
    for var i = indexPath.row ; i>0; i-- 
        Cont += QuantidadeCombustivel[i]
    
    let cell = tableView.dequeueReusableCellWithIdentifier("PostoTableViewCell", forIndexPath: indexPath) as! PostoTableViewCell

    if (self.NomesArray.count != 0) && (self.imagensArray.count != 0) 
        cell.NomePosto.text = self.NomesArray[indexPath.row]
        cell.BandeiraPosto.imageFromUrl(self.imagensArray[indexPath.row])
        cell.distanciaLabel.text = "Distância: \(self.DistanciaArray[indexPath.row])"
        var result = ""
        for i in Cont...Cont+self.QuantidadeCombustivel[indexPath.row+1]-1 
            result += ("\(self.NomeCombustivel[i]) : \(self.ValorCombustivel[i])\n")
        
        cell.ListaCombustivel?.text = result;

    


    return cell


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 
    openMapForPlace(indexPath.row)

类 PostoTableViewCell: UITableViewCell

@IBOutlet weak var BandeiraPosto: UIImageView!

@IBOutlet weak var NomePosto: UILabel!

@IBOutlet weak var ListaCombustivel: UITextView!

@IBOutlet weak var distanciaLabel: UILabel!

@IBOutlet weak var SgInfoPosto: UIButton!

【问题讨论】:

请分享一些相关代码 更容易让你说出你想看什么我发布的一切。该准则内容广泛...... 你的问题有点模糊,我不知道该问什么。添加一些细节或包含一些代码。你比我们更清楚那个代码是什么。如果您想让我们尽可能轻松地给出答案,那么至少努力发布某种代码会有所帮助。 问题编辑:如果您需要更多信息,请告诉我,我会提供,在我看来就足够了...... 【参考方案1】:

你必须这样做

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell

    cell.button.tag = indexPath.row

    return cell


@IBAction func buttonPressed(sender: AnyObject) 
    print(sender.tag)
    self.performSegueWithIdentifier("yourSegueIdentifier", sender: tableView)

【讨论】:

感谢您的回答...但是,我已经尝试过这种方式,但没有奏效。甚至尝试 AddTarget 。只是制作了拍摄按钮并移动到另一个 View Controller 的工具不被调用 您的所有数据都显示在表格视图中吗?你在didSelectAtIndexPath 有什么?当你选择一行时会发生什么? 您的按钮插座必须在 TableViewCell 类中,但在 ViewController 中操作 [aaisataev] 选择一行时,用户将被重定向到 Apple 地图。此按钮的想法是打开一个新的视图控制器并提供有关用户在表格中选择的内容的更多信息 我已经尝试了所有可能的方法...将 Outlet 留在 Table Cell 和 View Controller 上的操作,将所有内容留在 table cell 上,所有内容都在视图控制器中......并且没有任何事情是正确的! 【参考方案2】:

考虑 2 个 ViewCONtrollers ,带有按钮的那个我们说它为 FirstVC,目的地称为 SecondVC。检查您的 FirstVC 是否嵌入到导航控制器中?如果不是,则首先将其嵌入到导航控制器中。单击 FirstVC ,然后单击 Editor 选项卡,在其中单击 embed ,然后嵌入 Navigation Controler ,然后在情节提要中从 FirstVC 到 SecondVC 提供一个segue。之后在您的按钮操作方法中编写以下代码。

[self performSegueWithIdentifier:@"SegueIdentifier" sender:nil];

在 sender 中,您也可以传递您的数组。

然后写一个方法

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

      SecondVC *destination = [segue destinationViewController];

否则你也可以使用下面的代码 在您的按钮操作方法中,编写以下代码

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];

 SecondVC* secondVC = [storyboard instantiateViewControllerWithIdentifier:@"StoryboardIdentifier"];
[self.navigationController pushViewCpntroller:secondVC animated:YES];

【讨论】:

是的,它被插入到导航控制器中。当我创建一个视图控制器并放置他们的类时,他已经更新了布局等于导航栏 你好。该问题被标记为“swift”,请以 Swift 而非其他语言提供答案。谢谢!

以上是关于如何让TABLE VIEW中的CELL点击时不显示蓝色背景?的主要内容,如果未能解决你的问题,请参考以下文章

从 Table View Cell xib 与披露指示符转至情节提要

如何交互式收缩和增长 Table View Cell?

将数据从 Table View Cell 传递到 IOS 中的 View Controller

如何使jupyter显示行号并自动补全代码

李洪强iOS开发之-实现点击单行View显示和隐藏Cell

点击DataGridView表头自动排序后,更改的Cell值,过程中DataView行序改变??