这是本猿在工作中的碰到的一些问题和思考,主要偏向于问题的解决,以及原理思考。
- 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添加背景色,此时即可实现。效果对比如下
设置背景颜色
- 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;
网友评论