到目前为止,我只有界面构建器布局
我不清楚从布局
引用所有这些项目的语法我知道IBOutlet
必须在某个地方使用,但我需要更多地关注这个目标C正在做什么。我读过的任何内容都没有告诉我为什么有些声明以+开头,而其他声明以 -
我想要做的是点击布局中的按钮,弹出模态视图并更改整个布局的背景。
所以第一步是引用我在笔尖中制作的所有这些项目。救命? (或发布您知道的更直观教程的链接)
答案 0 :(得分:1)
您可以通过IBOutlets
和IBActions
使您在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的引用。
这将允许您通过键入类似
的内容在代码中设置UIImageViewself.imageView.image = [UIImage imageNamed:theNameTheUserJustPicked];
为了获得模态视图,您需要一个IBAction来触发代码中的方法,因此在主笔尖的.h文件中声明一个这样的方法。
- (IBAction)displayViewBackgroundChooser;
然后在.m文件中定义它。
- (IBAction)displayViewBackgroundChooser {
//present your new view on screen here
}
然后返回界面构建器并再次单击文件所有者。你应该在连接检查器中看到它,然后你可以将它连接到一个按钮,例如,它将触发该方法。
希望这有助于清除IBOutlets和IBActions上的内容。