我正在创建一个简单的iOS应用程序,我已经看到您可以通过按住控制按钮并从Label拖动到视图控制器,使用故事板将Label连接到视图控制器,从而创建一个IBOutlet中。我觉得这很方便。
我想知道如何将IBOutlet设置为视图,不视图控制器。我已经制作了自定义视图并在其上添加了一些标签。我希望在视图类中引用这些标签,而不是视图控制器。但是,除非我拖到视图控制器,否则XCode似乎不允许我制作IBOutlet。有办法解决这个问题吗?
我能想到的唯一其他选择是以编程方式在视图上创建标签,但我宁愿不这样做。我试图将标签作为视图的一部分,我不认为视图控制器需要了解它们。
在可能重复的上:我的问题是关于尝试使用故事板将Lable(或任何控件确实)连接到视图而不是视图控制器。链接的问题并不具体,似乎更像是一个使用xcode寻求帮助的新用户。接受的答案对我的问题没有帮助。
答案 0 :(得分:1)
我觉得这是一种解决方法,但如果您首先将插座添加到自定义视图类,则可以通过从XCode中的Referencing Outlet
拖回故事板中的视图来附加插座
class CustomView: UIView
{
@IBOutlet weak var lblOne: UILabel!
// do all the other stuff you need
}
答案 1 :(得分:0)
首先,您必须在storyboard中获取父视图(查看您在哪里添加标签并声明此视图是您在代码中查看的类)。假设,您将创建继承自UIView的类MyView,然后您将转到storyboard,在storyboard中单击该父视图,您的标签在哪里,在右侧部分选择类并在那里写下您之前创建的类的名称(MyView) - 自动完成应该管用。然后在一侧打开故事板,在右侧打开MyView类,您可以拖放与ViewController完全相同的引用
答案 2 :(得分:0)
您已经在ViewControler中创建了一些对象(UILabel,UIButton,UIImage ...)
1-您需要将故事板上的ViewControler链接到ViewController.swift,然后按照图片进行操作
2-在类字段中,输入ViewController类的名称。这样,您就可以将StoryBoard视图控制器链接到viewController.swift类
3-现在您需要创建要分配的变量(故事板中的UILabel,UIButton ...):在本示例中:
`class MovieDetailViewController: UIViewController, DetailView {
var presenter: MovieDetailPresenter!
var movie: Movie?
@IBOutlet weak var lblMovieYear: UILabel!
@IBOutlet weak var lblMovieTitle: UILabel!
@IBOutlet weak var movieImage: UIImageView!
@IBOutlet weak var lblMovieRating: UILabel!
@IBOutlet weak var lblMovieOverview: UILabel!
}`
4-要将故事板上的UILabel链接到UILabel变量,或者将故事板上的UIButton链接到UIButton变量,请遵循下一张图片
首先在情节提要中选择视图控制器
第二次选择右上角的parragraf图标,然后单击“助手”,它将打开ViewControler.swift屏幕。
记住要记住所有变量,您将需要为故事板上的每个对象创建一个变量。