繁体   English   中英

ios 单击按钮更改背景

[英]ios change background on button click

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

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

我知道必须在某处使用IBOutlet ,但我需要更多地了解这个目标 C 正在做什么。 我读过的任何东西都没有告诉我为什么有些声明以 + 开头,而另一些则以 -

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

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

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

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

在这里您可以找到有关添加插座的视频教程。 在这里,动作也是如此。

关于您对 + 和 - 的疑问, -标识了 class 中定义的正常方法; +定义了一个 class 方法,即可以直接在 class 上调用的方法,无需先实例化它。 查看这篇SO 文章了解更多信息。

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

UIImageView *imageView;

然后将其声明为属性

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

并在 your.m 文件中合成

@synthesize imageView;

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

然后您可以打开界面生成器,如果您单击视图 controller File's Owner 和 go 到连接检查器,您将看到 ZE9E20DE7B6F7D42815E27F0ZFDA380E 的新连接。 只需将该连接拖到 IB 文件中的 UIImageView 即可。 现在,您的代码中有一个引用,该引用连接到 IB 中的 UIImageView。

这将允许您通过键入类似的内容在代码中设置 UIImageView

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

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

- (IBAction)displayViewBackgroundChooser;

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

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

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

希望这有助于清除 IBOutlets 和 IBActions 上的一些问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM