在整个应用程序中使用的通用 UI 控件[关闭]
Posted
技术标签:
【中文标题】在整个应用程序中使用的通用 UI 控件[关闭]【英文标题】:Common UI controls to be used throught the application [closed] 【发布时间】:2013-04-08 00:20:02 【问题描述】:我想创建一些通过代码使用的控件,这样我就不会到处重复代码。 我的意思是我需要创建自定义控件并在视图控制器中使用它
例子:
在触摸时显示日期选择器弹出窗口的 Uitextfield 带有搜索按钮的 uitextfield知道怎么做
【问题讨论】:
【参考方案1】:如果您计划在您的应用程序中经常使用此类控件,您可以使用类和实例方法创建一个帮助类,这些方法绘制您需要的控件并在您调用该方法时返回它。
#import <Foundation/Foundation.h>
@interface CustomControls : NSObject
//declare your methods
@end
【讨论】:
所以如果我需要创建 uitexfield custom ,我会创建一个返回它的方法,对吧?!但我有一个表单已经包含 uitextfield 您可以创建一个xib
文件并随时在您的代码中调用它。所以你做了一次并多次使用它;)【参考方案2】:
带有搜索按钮的uitextfield
这是一个很好的例子。我会通过重复加载一个 nib 文件来解决这种问题。每次执行此操作时,您都会获得其中内容的新副本。
创建一个包含视图的新接口文件 (.xib)。使视图不可见(背景颜色 = 清晰颜色)。将您的文本字段和搜索按钮放入其中。现在,每次加载 .xib 文件时,您都会得到一个没有人可以看到的视图(.xib 中的视图),其中包含一个他们可以看到的文本字段和搜索按钮。
当我说“加载 .xib 文件”时,我指的是这类事情:
NSArray* objs = [[NSBundle mainBundle] loadNibNamed:@"MyNib" owner:self options:nil];
现在objs[0]
是来自 nib 的单个*** UIView 的副本!现在您可以使用 addSubview:
或其他方式将该 UIView 粘贴到您的界面中。
【讨论】:
以及如何在我的新 xib 中插入它,我的意思是我有很多 uitexfields 在代码中,您将加载 xib 并将该不可见视图(包含文本字段和搜索按钮)插入到您需要的界面中。 好的,我创建了一个包含所有代码的视图控制器,如何在设计时将其添加到另一个 xib 中,很抱歉这个幼稚的问题 我建议您不要使用视图控制器,也不要在设计时将其添加到 xib。在您的主 xib 中,您可以放置一个占位符视图。但是(正如我一直说的)你要做的是在 code 中加载 xib at runtime,然后从中取出视图并将其放入你的界面 在运行时,在代码中(也许把它放在占位符视图所在的位置)。 这是我目前所达到的***.com/questions/15870216/…以上是关于在整个应用程序中使用的通用 UI 控件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章