UISegmentedControl等问题

这是本猿在工作中的碰到的一些问题和思考,主要偏向于问题的解决,以及原理思考。

    1. UISegmentedControl公用一个页面的切换,并且两个页面切换后可以用push的方式跳转到其他页面

上代码

#pragma mark -- 点击segment
- (void)changeSegment:(UISegmentedControl *)segment{
    
    if (segment.selectedSegmentIndex == 0) {
        
        [self.BVC.view removeFromSuperview];
        
        //因每次B视图都要重新加载数据,故将B视图删除
        [self.BVC removeFromParentViewController];
        
    }else if (segment.selectedSegmentIndex == 1){
        
        self.BVC.view = [self.storyboard instantiateViewControllerWithIdentifier:@"B"];
        
        [self.view addSubview: self.BVC.view];
        
        [self addChildViewController: self.BVC];
    }
}

核心代码是:[self addChildViewController: self.BVC];目的是将B视图加入到当前的NavigationController中,在B视图中即可正常调用push方法。

  • 2.今天用storyboard拖拽一个控件时发现,当在storyboard和代码中均设置了控件的tag值,最终设置的是代码的,感觉应该是代码后执行的缘故,其次这也是一个容易出现bug的地方,尤其是用到用tag值来传递参数。

  • 3.在imageView添加image时,图片是透明的,但是需要在imageView后添加一条状态线,正好与image上下相切,此时将imageView放到图层最上面,设置alpha值不透明是不行的,将imageView添加背景色,此时即可实现。效果对比如下

UISegmentedControl等问题_第1张图片
alpha=1

UISegmentedControl等问题_第2张图片
设置背景颜色
  • 4.调用pickerView遮挡键盘,将textField的inputView设置为需要调用的pickerView,如果需要在pickerView上面添加按钮,可创建一个UIToolbar的对象,添加“确定”、“取消”按钮,将textField的inputAccessoryView 设置为UIToolbar的对象。
   // self.citysView创建的pickerView
   textField.inputView = self.citysView;
        
   UIBarButtonItem *hiddenButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStylePlain target:self action:@selector(done:)];
        
   UIBarButtonItem *spaceButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

   UIToolbar *accessoryView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT-260, SCREEN_WIDTH, 44)];
        
   accessoryView.items = [NSArray arrayWithObjects:spaceButtonItem,hiddenButtonItem,nil];
        
   textField.inputAccessoryView = accessoryView;

你可能感兴趣的:(UISegmentedControl等问题)