【问题标题】:Cocoa: how to connect a button to a view?Cocoa:如何将按钮连接到视图?
【发布时间】:2010-06-16 13:25:53
【问题描述】:

标题问题可能有点含糊。我会尽量解释清楚(还要注意我是可可编程的新手,所以请原谅任何错误:))。

我有一个扩展 NSView 的视图,我想在其中绘制一些图像。 当我单击一个按钮时,我希望从磁盘上的某些文件中加载图像。

我设法将所有加载到 NSMutableArray 中。我的问题是,如何设置: - 我需要带有图像(路径)的 NSMutableArray 可用于加载功能(所以我将它放在控制器中并为 UI 中的按钮分配了一个操作)。但在这种情况下,如何在自定义视图类的 drawRect 函数中访问它?

  • 如果我把它作为我的自定义视图类的成员,我不知道如何将它链接到按钮,以便在单击按钮时,数组将填充图像路径。

我想我有点困惑,因为我是 osx 编程的新手,不知道这些东西是如何连接的。

希望有人能为我净化一下空气。谢谢。

【问题讨论】:

    标签: cocoa view controller


    【解决方案1】:

    图像视图应该有一个属性来保存图像数组,并且控制器应该将此属性设置为其图像数组。 (当然,图像视图应该制作自己的数组浅表副本。)

    图像(路径)

    假设您的意思是路径名,图像不是路径,路径也不是图像。控制器应该加载图像并将图像传递给视图。视图不应该关心图像可能来自哪里。

    【讨论】:

    • 感谢您的信息,是的,路径名就是我的意思(更确切地说,我只是从文件夹中读取文件并将它们存储在数组中)。但是如何将图像从控制器传递到视图?假设我有:@interface MyView : NSView { NSMutableArray *images; ... } ... @end 和一个控制器:@interface MyController : NSOBject { NSMutableArray *imagesInController; } @end 我如何从控制器设置图像数组?
    • 正如我所说,视图应该有一个属性。控制器将简单地向视图发送一条消息以设置该属性。请参阅 Objective-C 编程语言文档:developer.apple.com/mac/library/documentation/Cocoa/Conceptual/…
    猜你喜欢
    • 2017-01-07
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多