-1

2番目の UILabel を印刷できないようですが、最初のものは印刷されます。どんな助けでも大歓迎です。

赤いラベルで成功したように、青い uiview の上に黄色いラベルを印刷しようとしています。

ここに私のコードがあります:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
CGRect frame = CGRectMake(10, 30, 100, 100);

UILabel *myLabel = [[UILabel alloc] initWithFrame:frame];
UILabel *myLabel2= [[UILabel alloc] initWithFrame:frame];


myLabel=[[UILabel alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
myLabel.backgroundColor = [UIColor redColor];
myLabel.text = @"Hello";

myLabel2=[[UILabel alloc] initWithFrame:CGRectMake(50,300,100,100)];
myLabel2.backgroundColor=[UIColor yellowColor];
myLabel2.text=@"World!";


UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(1, 1, 500, 500)];
UIView *myView1 = [[UIView alloc] initWithFrame:CGRectMake(65,50,200,200)];
UIView *myView2= [[UIView alloc] initWithFrame:CGRectMake(65,260,200,200)];

myView1.backgroundColor=[UIColor greenColor];
myView.backgroundColor=[UIColor cyanColor];
myView2.backgroundColor=[UIColor blueColor];



[myView addSubview:myView1];
[myView addSubview:myView2];
[myView2 addSubview:myLabel2];
[myView1 addSubview:myLabel];
[self.window addSubview:myView];
[self.window makeKeyAndVisible];
return YES;
}

助けてくれてありがとう。

4

2 に答える 2

0


「実際、ラベルはmyView2の表示領域の外に描画されています。」

myView2の幅と高さは200,200です。
myLabel2のy位置は300で、superView(myView2)の高さよりも大きくなっています。:)。

myLabel2はmyView2のフレームの外側に描画されます。ビューの常にy位置は、そのスーパービューを基準にして取得されます。

于 2013-01-24T14:04:19.347 に答える
0

この行を変更

myLabel2=[[UILabel alloc] initWithFrame:CGRectMake(50,300,100,100)];

myLabel2=[[UILabel alloc] initWithFrame:CGRectMake(50,30,100,100)];

理由は、あなたlabel2があなたの視野の外に出ているからです

これがあなたに役立つことを願っています..

于 2013-01-24T13:55:34.797 に答える