第一份博客,不多说,直入正题。
设计稿是这样的,navigationController居中一个UISegmentedControl,且UISegmentedControl是圆角(如下图)。
首先把UISegmentedControl变成圆角代码如下:
NSArray *segArray = [[NSArray alloc] initWithObjects:@"index1",@"index2" ,nil];
UISegmentedControl *segmentedC = [[UISegmentedControl alloc] initWithItems:segArray];
// 位置
segmentedC.frame = CGRectMake(0, 0, 100, 25);
segmentedC.backgroundColor = [UIColor whiteColor]; //
segmentedC.layer.masksToBounds = YES; // 默认为no,不设置则下面一句无效
segmentedC.layer.cornerRadius = 12.5; // 设置圆角大小,同UIView
segmentedC.layer.borderWidth = 1; // 边框宽度,重新画边框,若不重新画,可能会出现圆角处无边框的情况
segmentedC.layer.borderColor = [UIColor blueColor].CGColor; // 边框颜色
[self.navigationController.navigationBar.topItem setTitleView:segmentedC]; // 添加到navigationController,注意,直接设置navigationController的TitleView没有效果,至于原因,我也母鸡啊。。。
效果图: