【问题标题】:Fast Scrolling in Tweetie with UITableView使用 UITableView 在 Tweetie 中快速滚动
【发布时间】:2025-12-08 10:30:01
【问题描述】:

在 2008 年 12 月 12 日,Tweetie iPhone 应用程序的制造商发布了一个great example 他如何完成 UITableView 滚动而没有通常需要的锯齿/锯齿。他的example code 与 SDK 2.2 版配合得很好,但是,当我为 3.0 编译时,我无法让点击突出显示在单个单元格上工作。任何人都知道需要从 2.2 -> 3.0 更新什么才能让他的代码(完全)工作?

【问题讨论】:

    标签: iphone cocoa-touch uitableview


    【解决方案1】:

    在drawContentView中,将self.selected改为self.highlighted

    - (void)drawContentView:(CGRect)r
    {
        CGContextRef context = UIGraphicsGetCurrentContext();
    
        UIColor *backgroundColor = [UIColor whiteColor];
        UIColor *textColor = [UIColor blackColor];
    
        if(self.highlighted)
        {
            backgroundColor = [UIColor clearColor];
            textColor = [UIColor whiteColor];
        }
    
         ... code continues ...
    
    }
    

    【讨论】:

      【解决方案2】:

      如果您希望在新视图被推送并在弹出时自动取消突出显示时保持突出显示(tableview 单元格的默认行为),请确保您还为 self.selected 设置了透明背景:

      
      if(self.highlighted || self.selected){
          backgroundColor = [UIColor clearColor];
          textColor = [UIColor whiteColor];
      }
      

      当其子单元被弹出时,单元格将自动取消突出显示和取消选择。

      【讨论】:

        【解决方案3】:

        抱歉,我们还不能回答 3.0 的具体答案,但对 NDA 所做的...希望在 3.0 发布后不久就会解除限制。

        同时阅读关于 3.0 UITableViewCells 的文档以及现在选择的工作原理,答案可能会出现。

        【讨论】:

        • 是的。当我发布问题时,我才意识到这一点,但还是决定发布。
        【解决方案4】:

        也许当 NDA 不再适用时,这种行为会神奇地得到解决。同时,将错误提交给希望您使用 3.0 但不谈论它的人。

        【讨论】: