2012-01-05 76 views
1

在视图生命周期中,您是否可以更改在IB中放置的对象的值?什么时候可以设置Interface Builder对象的属性?

我有一个步进器和一个UIImageView,我把它放到IB的视图中。我已经在ViewDidLoad中加入了一些值(比如stepper min和UIImageView的图像),但是当视图出现时,它使用步进min和IB中设置的图像。

回答

0

啊。我看到了问题。我有一个UILabel显示的值,我没有设置它连接到UIStepper的值,直到值改变。我的错。多谢你们!

0

您可以设置您正在尝试的属性。

确保调用[super viewDidLoad]

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // adjust views here 
} 

有可能你忘了你的IBOutlets连接在IB:

这将导致编译器不关心的错误。基本上你的滑块的代码就相当于

[nil setMinimumValue:newVal]; 

我可以在测试程序运行下面的代码,并没有投诉或事故发生

UIStepper * step = nil; 
step.minimumValue = 5; 
+0

关于步进,我有以下在viewDidLoad中(后[超级viewDidLoad中]) '[self.animalCountStepper setMinimumValue:1.0];' 良好的措施,我也有步进的最小值在IB中设置检查员。但它仍然说0. – 2012-01-06 16:44:39

+0

@WillLarche尝试NSLog(@“stepper%@”,self.animalCountStepper);如果这是零,你忘了连接IBOutlet像罗布,我建议可能是问题。 – 2012-01-06 18:22:49

0

可以在viewDidLoad设置这些值。如果您发布了viewDidLoad源代码,这将会有所帮助。

由于我没有看到你的代码,我只能猜测什么是错的。我怀疑你的视图控制器有一个属性引用步进和另一个属性引用的图像视图,并且使用的是这些属性设置值,如:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.stepper.minimumValue = minValueForStepper(); 
    self.imageView.image = imageForImageView(); 
} 

如果你的代码有基本结构,它不工作,你可能忘了把这些属性挂在你的笔尖上。

0

我不明白你的问题非常好,但如果你想设置你的IBOutlets例如,您可以通过编程做,如果你有一个:

IBOutlet imageView *theImageView; 

您可以设置UIImageView的性质类似的一个:

[theImageView setImage:[UIImage imageNamed:@"theimage.png"]]; 

您可以在Xcode的Organizer视图中学习您感兴趣的所有类,在这里您可以查看其所有属性,方法,委托方法等等。

相关问题