【发布时间】:2012-01-21 19:30:24
【问题描述】:
我在 xib 中的视图中都有一个 UISegmentedControl。在我的应用程序委托中,我正在使用 initWithNibName: 创建作为 xib 文件所有者的控制器,然后将其包装在导航控制器 (UINavigationController initWithRootViewController) 中。
然后我尝试在分段控件中设置元素的图像或标题,如下所示:
[self.viewController.segmentControl setImage: [UIImage imageNamed:@"some_image.png"]forSegmentAtIndex: 3];
[self.viewController.segmentControl setTitle: @"some text" forSegmentAtIndex: 2];
分段控件出现,但 setImage: 和 setTitle: 无效。 前两个单元格分别表示 First 和 Second,它们是最初在 IB 中拖放时分配的默认值。
segmentControl 是一个 IBOutlet,我已经确认它已连接到分段控件。
为什么它不起作用?
我可以在 IB 中设置图像或文本并且它可以工作,但我想了解为什么我不能以编程方式设置它们。
(分段控件有6个索引)。
【问题讨论】:
-
您是否通过 NSLog
self.viewController.segmentControl确认(最重要的地方)它不是 nil? -
它没有被创建——我认为在调用 initWithNibName: 时会创建 nib 中的所有内容?如果我在委托中检查它时它为零,那么它是如何显示的?
-
不确定它没有被创建,因为没有设置 ivar/property。 IB的东西我真的帮不上忙;我没用过,忘记怎么用了……
标签: objective-c ios cocoa-touch