2011-08-14 44 views
0

我到目前为止只有Interface Builder的布局IOS改变按钮背景点击

我不清楚的语法来引用所有这些项目从布局

我知道IBOutlet必须是在某个地方使用,但我需要更多的手持这个目标C在做什么。我读过的任何内容都告诉我为什么某些声明以+开头,其他声明以 -

我想要做的是在布局中单击按钮,弹出一个模式视图并更改整个布局的背景。

所以第一步是引用我在笔尖中做出的所有这些项目。帮帮我? (或发布一个链接到更直观的教程,你知道)

回答

1

所以你可能想为你的背景视图创建一个IBOutlet。也许这是一个UIImageView,您可以根据用户在模式视图中选择的内容来设置它的图像属性。对于这一点,你就只需要声明你有UIImageView的在IB文件

UIImageView *imageView; 

,然后宣布它作为一个属性

@property (nonatomic,retain)IBOutlet UIImageView *imageView; 

和合成它在你的.m文件

@synthesize imageView; 

如果您不使用ARC,请不要忘记发布它。

然后,你可以打开界面生成器,如果你点击你的视图控制器文件的所有者,并转到连接检查器,你会看到有一个新的连接imageView。只需将该连接拖到IB文件中的UIImageView即可。你现在在你的代码中有一个引用,它连接到IB的UIImageView。

,让您通过键入类似

self.imageView.image = [UIImage imageNamed:theNameTheUserJustPicked]; 

为了获取模式视图设置在代码中的UIImageView,你需要一个IBAction为触发代码中的方法,从而宣告一个这样的在你的主要笔尖的.h文件中。

- (IBAction)displayViewBackgroundChooser; 

然后在你的.m文件中定义它。

- (IBAction)displayViewBackgroundChooser { 
    //present your new view on screen here 
} 

然后返回到界面生成器并再次单击文件的所有者。你应该在连接检查器中看到它,然后你可以将它连接到一个按钮,例如,这将触发该方法。

希望这有助于清楚IBOutlets和IBActions上的一些事情。

+0

我得到的背景来改变,但我不能让我的另一个视图弹出,从新的所需视图的笔尖点击和拖动不连接到我的主视图控制器中的任何东西 – CQM

+0

你不想连接任何东西到你的新的想要的笔尖,你想要连接到你的主要笔尖的东西,这将触发你的代码中的方法在屏幕上呈现新的笔尖。你需要在新的笔尖上做的唯一事情就是解散它,并将选定的信息传递回主笔尖。 – Jamie

+0

'//在屏幕上显示你的新视图'我如何让新视图出现,我尝试'self.displayViewBackgroundChooser;'这应该初始化。我看不到我的按钮上的IBAction如何引用此视图 – CQM

1

您可以使您在IB创建的UI元素与您的代码通过IBOutletsIBActions手段进行交互。在你的情况下,我会将一个动作关联到该按钮,以便在按钮被点击时触发;该操作将打开一个模式视图,您可以在相关控制器的viewDidLoad方法中更改该视图的背景。

Here您可以找到关于添加插座的视频教程。和here一样,关于行动。

关于您对+和 - 的疑问,-标识了在类中定义的常规方法; +定义了一个类方法,即可以直接调用该类的方法,而不必首先实例化它。查看S.O. article了解更多信息。