ios在按钮单击时更改背景

时间:2011-08-14 07:22:59

标签: objective-c ios click xib nib

到目前为止,我只有界面构建器布局

我不清楚从布局

引用所有这些项目的语法

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

开头

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

所以第一步是引用我在笔尖中制作的所有这些项目。救命? (或发布您知道的更直观教程的链接)

2 个答案:

答案 0 :(得分:1)

您可以通过IBOutletsIBActions使您在IB中创建的UI元素与您的代码互动。

在你的情况下,我会将一个动作与按钮相关联,以便在单击按钮时触发它;该操作将打开一个模态视图,您可以在关联控制器的viewDidLoad方法中更改该视图的背景。

Here您找到了有关添加插座的视频教程。而here,与行动相同。

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

答案 1 :(得分:1)

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

UIImageView *imageView;

然后将其声明为属性

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

并在.m文件中合成它

@synthesize imageView;

如果您不使用ARC,请不要忘记将其释放。

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

这将允许您通过键入类似

的内容在代码中设置UIImageView
self.imageView.image = [UIImage imageNamed:theNameTheUserJustPicked];

为了获得模态视图,您需要一个IBAction来触发代码中的方法,因此在主笔尖的.h文件中声明一个这样的方法。

- (IBAction)displayViewBackgroundChooser;

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

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

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

希望这有助于清除IBOutlets和IBActions上的内容。