簡體   English   中英

UISegmentController和UIViews

[英]UISegmentController and UIViews

我想知道如何通過UISegmentController正確操作兩個視圖。

現在我有兩個UIViewsUISegmentController和程序changeView:

- (void)changeView:(NSInteger)index {
switch (index) {
    case 0:
        self.recipeInfoView.alpha = 1;
        self.recipeInfoView2.alpha = 0;
        break;
    case 1:
        self.recipeInfoView.alpha = 0;
        self.recipeInfoView2.alpha = 1;
        break;

    default:
        break;
}

此代碼有效,但每個視圖具有相同的位置和大小,並且使用它非常不舒服。 我正在使用故事板。

首先編寫以下代碼用於創建UISegmentedControl並為您提供UIView顏色。

- (void)viewDidLoad
{
    [super viewDidLoad];

   //Make hide of your UIView 
       self.recipeInfoView.hide = YES;
       self.recipeInfoView2.hide = YES;

  //Give color of your UIView
       self.recipeInfoView.backgroundColor = [UIColor redColor];
       self.recipeInfoView.backgroundColor = [UIColor blackColor];

  //Create UISegmentedControl Controller 
    NSArray *itemArray = [NSArray arrayWithObjects: @"FirstView", @"SecondView", nil];
    self.segmentedControl= [[UISegmentedControl alloc] initWithItems:itemArray];
    self.segmentedControl.frame = CGRectMake(35, 100, 250, 33);
    self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
    self.segmentedControl.momentary=NO;
    self.segmentedControl.tintColor=[UIColor darkGrayColor];

    [self.segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:self.segmentedControl];

}

// segmentAction方法

- (IBAction)segmentAction:(id)sender
{
    if([sender selectedSegmentIndex] == 0)
    {
       if(self.recipeInfoView.isHidden == YES)
          self.recipeInfoView.Hidden == NO;
      else
          self.recipeInfoView.Hidden == NO;

      if(self.recipeInfoView2.isHidden == YES)
           self.recipeInfoView2.Hidden == YES;
      else
           self.recipeInfoView2.Hidden == YES;

   }
   else if([sender selectedSegmentIndex] == 1)
   {
       if(self.recipeInfoView2.isHidden == YES)
           self.recipeInfoView2.Hidden == NO;
       else
           self.recipeInfoView2.Hidden == NO;

       if(self.recipeInfoView.isHidden == YES)
            self.recipeInfoView.Hidden == YES;
       else
           self.recipeInfoView.Hidden == YES; 

    }
}

此代碼可能對您的情況有所幫助。

設置視圖屬性hidden = YES或NO,而不是為視圖設置alpha

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM