0

以外の方法でサブビューを追加してviewDidLoad()いますが、サブビューが表示されません。私のコードは以下にあります:

 -(void) displayBanner
{ 

    SharedApp *instance=[SharedApp sharedInstance];
    [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats:YES];

 numTimerTicks = 0;

   roundedButtonType = [[UIButton buttonWithType:UIButtonTypeRoundedRect]retain]; //Creates a UIButton
   roundedButtonType.frame = CGRectMake(0.0f, 360.0f, 320.0f, 60.0f); //sets the coordinates and dimensions of UIButton
   roundedButtonType.backgroundColor = [UIColor clearColor]; //sets the background color
   roundedButtonType.tag = numTimerTicks;
  //  [instance configView];
   NSLog(@"the home array is %@",instance.homeImageArray);
   [roundedButtonType setBackgroundImage:[instance.homeImageArray objectAtIndex:numTimerTicks] forState:UIControlStateNormal];
   [roundedButtonType addTarget:self action:@selector(showDetails:)forControlEvents:UIControlEventTouchUpInside]; //sets the Background image
   [roundedButtonType setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 

  HomePageViewController *homepage = [[HomePageViewController alloc]initWithNibName:@"HomePageViewController" bundle:nil];
  [homepage.view addSubview:roundedButtonType];


   //Oops forgot to add this one... my bad.. :D :D
   [self.view addSubview:homepage.view];// Image displayed but goes into endless loop

}

私がそれを正しく行っているかどうか、何が欠けているかを誰かに教えてもらえますか?

前もって感謝します。

4

3 に答える 3

0

これの代わりに:

[homepage.view addSubview:roundedButtonType];

これを行う:

[self.view addSubview:roundedButtonType];
于 2012-06-04T08:59:06.390 に答える
0

このコードは完全に問題ありません。

HomePageViewController *homepage = [[HomePageViewController alloc] initWithNibName:@"HomePageViewController" bundle:nil];
[homepage.view addSubview:roundedButtonType];

にボタンが追加されますHomePageViewController

ただし、HomePageViewControllerはどこにも追加されていないため、表示されません。あなたはそれを示さなければなりません。たとえば、現在のViewControllerまたはウィンドウでpushViewController/を使用します。presentModalViewControllersetRootViewController

于 2012-06-04T09:02:29.100 に答える
0

あなたが提供したデータは適切ではありません。この2つがこの理由かもしれません.

最初の UI 呼び出しの変更は、メイン スレッドから発生する必要があります。1 つのことを行います。でメソッドを実行します[self performSelectorOnMainThread:@selector() withObject:nil waitUntilDone:]

次に、homepage.view が表示されません。self.view を与えることができます(viewcontrollerからこのメソッドを呼び出す場合)。

于 2012-06-04T09:05:35.437 に答える