【问题标题】:self.title = @"My Title";self.title = @"我的标题";
【发布时间】:2010-11-20 08:56:17
【问题描述】:

这可以更动态地设置而不是硬编码吗?

self.title = @"My Title";
//           ^^^^^^^^^^^

我希望标题是用户单击的行的名称,而不是硬编码标题名称

在我的 viewController 中,我有州名。我希望标题是用户点击的州名。有什么建议吗?

提前致谢

【问题讨论】:

    标签: iphone objective-c iphone-sdk-3.0


    【解决方案1】:

    你的问题不是很清楚。一般来说,你可以将当前视图的标题设置为任何 NSString 对象,所以

    self.title = string;
    

    但是我猜你的问题是你是否可以设置一个视图的图块,当你点击一个 UITableViewCell 时,它会被创建并进入视图。如果是这样,答案是肯定的,你可以。您可以在创建新视图时在视图控制器的 tableView:didSelectRowAtIndexPath: 方法中执行此操作。

    您需要将 indexPath 变量或单元格 cell.textLabel.text 中的文本标签传递给自定义初始化方法。因此,如果您有一个名为 nextController 的视图控制器,例如,您会执行类似的操作,

    NextController *next = [[NextController alloc] initWithIndexPath: indexPath];
    [appDelegate.navController pushViewController:next animated: YES];
    [next release];
    

    在主控制器的 tableView:didSelectRowAtIndexPath: 方法中。然后在您的 NextController 类中,您将按照这些思路覆盖 init 方法,

    -(id)initWithIndexPath: (NSIndexPath *)indexPath {
        if ( self == [super init] ) {
            indexVariable = indexPath;
        }
        return self;
    }
    

    @interface 中声明 indexVariable 之后。您需要做的就是在新控制器的 viewDidLoad: 方法中设置新视图的标题,或者使用 NSIndexPath 抓取单元格的标签,或者如果您直接而是通过了标签。

    【讨论】:

      【解决方案2】:

      Alasdair 的答案是正确的,但可能比您需要的更复杂。

      在您的 tableView:didSelectRowAtIndexPath: 方法中,您可能有类似的内容(如在 Alasdair 的示例中):

      ViewController *viewController = [[ViewController alloc] init]; //some flavor of "init"
      [self.navController pushViewController:viewController animated: YES];
      [viewController release];
      

      你真正需要做的就是添加:

      [viewController setTitle:<<the string you want to set it to here>>];
      

      在上面的第一行之后。或者,您可以通过自定义 init 传递字符串,并从推送的视图控制器内部设置它。无论哪种方式。

      但实际上没有必要将整个表视图暴露给底层视图控制器。

      【讨论】:

      • 是的,如果设置标题是您真正需要做的,那也可以工作并且简单得多。我通常会传递 NSIndexPath,以便在新视图控制器中需要时可以检索原始单元格。
      猜你喜欢
      • 2011-10-16
      • 2010-12-05
      • 1970-01-01
      • 2020-11-25
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2020-03-12
      相关资源
      最近更新 更多