如何以编程方式将文本添加到UIView

Ste*_*eve 26 xcode text objective-c uiview programmatically-created

我有一个UIView我想添加几个文本.我曾经使用过UITextView但我觉得这样做太过分了,因为它不需要编辑.我想过使用a UILabel或a UITextField,但我看不出你如何告诉superview在哪里定位UILabelUITextField在其中.我想要最小的足迹对象,让我把我选择的字体/颜色/大小的文本放在UIView我想要的地方.没问题,呃?

sam*_*sam 63

最简单的方法是:

UILabel *yourLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 20)];

[yourLabel setTextColor:[UIColor blackColor]];
[yourLabel setBackgroundColor:[UIColor clearColor]];
[yourLabel setFont:[UIFont fontWithName: @"Trebuchet MS" size: 14.0f]]; 
[yourSuperView addSubview:yourLabel];
Run Code Online (Sandbox Code Playgroud)

在代码中构建或填充视图可能需要您使用CGRectMake很多.顾名思义,它会创建一个矩形,您可以使用它来设置相对位置(相对于超视图的边框)和您的大小UIView-Subclass(在本例中为a UILabel).

它的工作原理如下:

yourLabel.Frame = CGRectMake(x, y, width, height); //x,y,width,height are float values.
Run Code Online (Sandbox Code Playgroud)

x定义了上海华的左手边框与子视图您要添加的开始之间的间隔,同样适用于y,但与你的上海华顶边界之间的间距.那么我觉得宽度和高度都是不言自明的.

希望这能让你走上正轨.


Man*_*nny 8

您可以通过使用"center"告诉UILabel将自己定位在视图中的位置,而不是找到告诉视图在何处定位UILabel的方法.

例如

myLabel.center = CGPointMake(0.0, 0.0);
Run Code Online (Sandbox Code Playgroud)

希望你能够使用UILabel,对我而言,这是灵活的不可编辑文本的基本形式.