【问题标题】:iPhone uisegmentcontrol views overlapiPhone uisegmentedcontrol 视图重叠
【发布时间】:2011-11-23 18:17:51
【问题描述】:

我有一个带有 UISegmentControl 'SegA'、'SegB' 和 'SegC' 的视图

每个段都有不同的视图,带有以编程方式添加的标签和文本字段。

当我从 SegA 切换到 SegB 时,SegA 的视图与 SegB 的视图重叠

【问题讨论】:

    标签: iphone uisegmentedcontrol


    【解决方案1】:

    例如,您有 3 个视图和各自的 3 个段控件,您需要将这些视图添加到主视图控制器上作为子视图,并通过代码为它们设置框架或使用 Interface Builder 将它们添加到 ViewController 上。

    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    - (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.view addSubView:view1];
    [self.view addSubView:view2];
    [self.view addSubView:view3];
    
    [view1 setHidden:NO];
    [view2 setHidden:YES];
    [view3 setHidden:YES];
    
    [mySegmentControl addTarget:self action:@selector(valuedChanged:) forControlEvents:UIControlEventValueChanged];
     }   
    
    //segment value changed
    -(IBAction)valuedChanged:(id)sender{
    
    UISegmentedControl* tempSC=(UISegmentedControl *)sender;
    if(tempSC.selectedSegmentIndex==0){
    [view1 setHidden:NO];
    [view2 setHidden:YES];
    [view3 setHidden:YES];
    }
    else if(tempSC.selectedSegmentIndex==1){
    [view1 setHidden:YES];
    [view2 setHidden:NO];
    [view3 setHidden:YES];
    }
    else if(tempSC.selectedSegmentIndex==2){
    [view1 setHidden:YES];
    [view2 setHidden:YES];
    [view3 setHidden:NO];
    }
    }
    

    假设 view1、view2 和 view3 是 UIView 类的实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 2011-12-27
      相关资源
      最近更新 更多