0

The thing is i can add segments as much as i want if i use text but if i use image means i can not able to add more than 6 segments on iphone.

help me out.

    UIImage* resetImage = [UIImage imageNamed:@"Reset_V1"];
    UIImage* wlwwImage = [UIImage imageNamed:@"Reset_V1"];
    UIImage* huImage = [UIImage imageNamed:@"HU_PI_V1"];
    UIImage* panImage = [UIImage imageNamed:@"Panning_V1"];
    UIImage* disImage = [UIImage imageNamed:@"Distance_V1"];
    UIImage* areaImage = [UIImage imageNamed:@"Reset_V1"];
    UIImage* clrImage = [UIImage imageNamed:@"Clear_V1"];
    UIImage* presetImage = [UIImage imageNamed:@"Presets_V1"];

        mySegments = [[NSArray alloc] initWithObjects: wlwwImage,panImage,huImage,disImage,areaImage,resetImage,clrImage,presetImage, nil];
   segmentControl = [[UISegmentedControl alloc] initWithItems:mySegments];
    CGRect myFrame = CGRectMake(0, 65, 320, 35);
    segmentControl.frame = myFrame;
    [segmentControl addTarget:self action:@selector(whichSegment:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:segmentControl];
user3714144
  • 159
  • 3
  • 13

1 Answers1

0

I try with same code and it work

Output:
enter image description here


Code:

    UIImage* resetImage = [UIImage imageNamed:@"Image"];
    UIImage* wlwwImage = [UIImage imageNamed:@"Image"];
    UIImage* huImage = [UIImage imageNamed:@"Image"];
    UIImage* panImage = [UIImage imageNamed:@"Image"];
    UIImage* disImage = [UIImage imageNamed:@"Image"];
    UIImage* areaImage = [UIImage imageNamed:@"Image"];
    UIImage* clrImage = [UIImage imageNamed:@"Image"];
    UIImage* presetImage = [UIImage imageNamed:@"Image"];
    UIImage* presetImage1 = [UIImage imageNamed:@"Image"];
    UIImage* presetImage2= [UIImage imageNamed:@"Image"];
    UIImage* presetImage3= [UIImage imageNamed:@"Image"];

    NSArray *mySegments = [[NSArray alloc] initWithObjects: wlwwImage,panImage,huImage,disImage,areaImage,resetImage,clrImage,presetImage,presetImage1,presetImage2,presetImage3, nil];
    UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:mySegments];
    CGRect myFrame = CGRectMake(0, 65, 320, 35);
    segmentControl.frame = myFrame;
    [self.view addSubview:segmentControl];

Download demo project
Link


If your image path is not valid then it will show only segment with correct image
enter image description here


Code(with bug)

// Do any additional setup after loading the view, typically from a nib.
    UIImage* resetImage = [UIImage imageNamed:@"Image"];
    UIImage* wlwwImage = [UIImage imageNamed:@"Image"];
    UIImage* huImage = [UIImage imageNamed:@"Image"];
    UIImage* panImage = [UIImage imageNamed:@"Image"];
    UIImage* disImage = [UIImage imageNamed:@"Image"];
    UIImage* areaImage = [UIImage imageNamed:@"Image1"]; // wrong image name
    UIImage* clrImage = [UIImage imageNamed:@"Image1"]; // wrong image name
    UIImage* presetImage = [UIImage imageNamed:@"Image1"]; // wrong image name
    UIImage* presetImage1 = [UIImage imageNamed:@"Image1"]; // wrong image name
    UIImage* presetImage2= [UIImage imageNamed:@"Image1"]; // wrong image name
    UIImage* presetImage3= [UIImage imageNamed:@"Image1"]; // wrong image name

    NSArray *mySegments = [[NSArray alloc] initWithObjects: wlwwImage,panImage,huImage,disImage,areaImage,resetImage,clrImage,presetImage,presetImage1,presetImage2,presetImage3, nil];
    UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:mySegments];
    CGRect myFrame = CGRectMake(0, 65, 320, 35);
    segmentControl.frame = myFrame;
    [self.view addSubview:segmentControl];
Jageen
  • 6,345
  • 2
  • 37
  • 56