ios - 如何构建由 iOS 中现有控件组成的自定义控件?

标签 ios objective-c xcode uiview custom-controls

我试图找出 Xcode 中与 Visual-studio-land 中的“自定义控件”相当的东西。我想要一个自定义的可重用控件,它只是分段控件旁边的一个文本框,其中包含一些自定义行为,但我不知道如何制作它。

我找到了有关制作 totally custom control, with its own rendering 的文章,但这太过分了。我想组合现有的控件,而不是创建全新的控件。

我尝试创建一个新的“ View ”并将其用作自定义控件,在其上放置一个文本框和一个复选框。但是该 View 不会显示在我可以拖动到其他 View (其中列出了按钮和 slider 等)的内容列表中。

我可以使用右侧窗口中的“自定义类” Pane 从自定义 View 继承一个空白 View ,但继承的 View 仍然是...空白。底层控件不应该在设计器中绘制吗?我不应该能够调整公开的属性吗?

我知道这很微不足道,我只是不知道我必须做哪些微不足道的事情才能使其发挥作用。

最佳答案

您的自定义控件将需要自定义 .m 和 .h 文件。如果你想使用界面生成器,它还需要一个.xib;看到这样的问题。 (Creating a custom view using a xib)

或者,您可以放弃 xib 并在 viewDidLoad: 中以编程方式设置 View 。如果您到目前为止还没有这样做,那么现在可能是一个很好的机会来实践一下;这是一个重要的工具。

至于在 xCode 中指定自定义 View ,界面构建器中的身份检查器允许您指定 View 的类;您可以从下拉列表中选择一个自定义类,加载 Storyboard时将加载该自定义类来代替默认 View 。

Apple 实际上建议通过将预定义控件捆绑在一起来构建自定义控件,他们在 WWDC 的一次演讲中对此进行了讨论......我认为'Advanced Appearance Customization on iOS ”,从 2012 年开始。这可能是一个很好的起点。

关于ios - 如何构建由 iOS 中现有控件组成的自定义控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19782742/

相关文章:

xcode - 如何仅播放一次声音 SWIFT

xcode - cocoa "view"系统是如何工作的?

ios - 单击每个页面的选项卡项转到主页选项卡

ios - 从 block 中读取返回值

ios - 在一个 View Controller 上具有静态单元格和动态 TableView 的 TableView

objective-c - 如何手动创建 UISplitView?

ios - 返回应用程序时重新启动UIViewPropertyAnimator

ios - xcconfig 文件中的 info.plist 键名

ios - 如何在 objective-c 中解析数组 JSON

IOS Xcode 验证 Xcode.app