Ответ 1
Это почти то, что у вас было, просто передайте массив UIImages вместо NSStrings.
NSArray *itemArray = [NSArray arrayWithObjects:
[UIImage imageNamed:@"segment1.png"],
[UIImage imageNamed:@"segment2.png"],
nil];
Я новичок в разработке iphone. Я создал UISegmentedControl с двумя сегментами. Я хочу отображать изображения для каждого сегмента вместо заголовка. Вот мой код
NSArray *itemArray = [NSArray arrayWithObjects: @"segment1", @"segment2", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentedControl.frame = CGRectMake(5,100,300,40);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.selectedSegmentIndex = 1;
[self.view addSubview:segmentedControl];
[segmentedControl release];
Но вместо отображения заголовка, сегмента1 и сегмента2 он должен быть заменен изображениями, которые у меня есть. Пожалуйста, помогите мне. Спасибо.
Это почти то, что у вас было, просто передайте массив UIImages вместо NSStrings.
NSArray *itemArray = [NSArray arrayWithObjects:
[UIImage imageNamed:@"segment1.png"],
[UIImage imageNamed:@"segment2.png"],
nil];
Если вы хотите изменить изображение во время выполнения, используйте следующий метод:
- (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment
например:.
[segmentedControl setImage:[UIImage imageNamed:@"segment1.png"] forSegmentAtIndex:0];
Это просто сделать с помощью Interface Builder (вкладка Inspectors Inspector).
Также вы можете установить один сегмент с изображением, а другой - с текстом.
Счастливое xCoding! )
Для пользователя-строителя интерфейса установите "render as" как "original image", а не default. В моем случае он будет отображаться после запуска. Это может сработать.
@jcpennypincher
В xcode 4.6.3 в конструкторе интерфейса есть опция для добавления изображения в элементы управления сегментами.